本教程详细阐述了嵌入式网页(如 `
在现代网页开发中,嵌入式网页(通常通过
window.parent 是一个全局属性,它返回当前窗口的父窗口的 window 对象。如果当前窗口没有父窗口(即它本身就是顶级窗口),或者父窗口与当前窗口不同源,那么 window.parent 将返回对当前窗口本身的引用(在同源情况下)或抛出安全错误(在跨源情况下)。
理解 window.parent 的关键在于,一旦你获得了父窗口的 window 对象,你就可以像操作当前窗口的 window 对象一样,访问父窗口的全局变量、函数,以及其 document 对象,进而操作父窗口的DOM。
以下我们将通过具体的代码示例,演示子页面如何修改父页面的DOM内容以及调用父页面定义的函数。
子页面可以通过 window
.parent.document 访问父页面的文档对象,然后利用标准的DOM操作方法(如 getElementById、querySelector、innerHTML 等)来修改父页面的内容。
主页面 (index.html) 示例:
主页面
主页面内容区域
这里是主页面的一段文本,等待子页面修改。
下方是嵌入的子页面:
子页面 (child.html) 示例:
子页面
子页面控制面板
当用户点击子页面中的“修改主页面内容”按钮时,子页面会通过 window.parent.document.getElementById('parentMessage').innerHTML 来更新主页面中相应段落的文本。
除了修改DOM,子页面也可以直接调用父页面全局作用域中定义的 JavaScript 函数。
主页面 (index.html) 示例(在 标签底部添加脚本):