我有这个脚本(是一个弹出窗口):
var script = document.createElement('script');
script.setAttribute('async', 'async');
script.src = 'https://scriptexample.js';
document.body.appendChild(script);
当我把这段代码正常运行时,但当代码在iframe中时,代码效果不佳,只会在iframe中显示。
我需要更改代码,以便调用“top / parent”位置并显示脚本,即使它位于iframe中?
由于
答案 0 :(得分:0)
主文档和iFrame文档是不同的文档,具有不同的变量范围。将此归档以使用
的唯一方法window.parent
从iFrame调用父窗口中加载的脚本,然后使用
iframeElement.contentWindow
访问加载到iFrame的脚本。
读:
http://www.w3schools.com/jsref/prop_frame_contentwindow.asp
https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentWindow
https://developer.mozilla.org/en-US/docs/Web/API/Window/parent
示例:
在主窗口中定义了test
函数,您可以从iFrame中调用它:
window.parent.test(...);