业务场景是,
从服务端以字符串的形式取回 一个页面的整个html代码,在当前页面上展示, 当然就想到了iframeiframe要事先存在与dom树中
而不是用createElement方法增加
整个替换<html>
标签,而不只是body
直接上代码,不bb
const iframe = document.getElementsByClassName('placeholder')[0]const iframedoc = iframe.contentDocument || iframe.contentWindow.document;iframedoc.children[0].innerHTML = html // 事先拿到的html// 这个children[0]就是标签
iframe中的页面无法自动执行javascript
无法触发iframe的onload方法,
但是有代替方法,可以满足部分需求, 在父页面,通过上文的iframedoc
——也就是子页面的document
,来操作子页面里的dom