javascript - 如何将 document.body.appendchild(' 定位到根文档而不是 iframe
问题描述
我们如何
document.body.appendchild(' an element ')
仅针对根文档并避免进入
我所做的 iframe,例如
var a=document.createElement('a')
document.body.appendchild(a)
刚发现
iframe>#document>html>body>a
真诚帮助 欣慰
解决方案
如果您从 iframe 内部调用它,那么您需要使用此代码(也 appendChild 需要 Node 作为参数,它不能是字符串):
var a = parent.document.createElement('p');
a.innerHTML = 'hello';
parent.document.documentElement.appendChild(a);
// or
parent.document.body.appendChild(a);
parent 获取 iframe 所在文档的 window 对象,然后获取文档,然后获取实际的 DOM 节点(documentElement
将是 html 元素)。
注意:由于同源策略,iframe 和父文档需要在同一个域中。如果您想使用不同域上的文档,您需要控制它们并使用 postMessage 或类似的 API 从 iframe 发送消息并将其获取到父文档。
推荐阅读
- html - 如何在不使用角度的jspdf的情况下将特定的div导出为pdf?
- pdf - 将文件中的图像嵌入到groff中?
- javascript - 如何获取数组中子数组的第一个值?
- php - 我尝试了`intval(6.02 * 100)`,结果是602,但是为什么`intval(5.02 * 100)`的结果是501呢?
- google-apps-script - 防止在 Google 表单中多次提交
- google-app-engine - 谷歌应用引擎cron作业可以触发后台云功能吗?
- android - 如何使用改造 API Quiz App 在 arrayList 中显示第一个问题
- ios - Flutter - 如何在没有用户交互的情况下推送到其他路由(如 onTap)?
- python - 使用 tkinter 进行键盘控制
- python - 哪个更好:`iter` 或 `while` 用于循环?