2016-07-28 65 views
0

我有此脚本(是一个弹出):显示脚本

var script = document.createElement('script'); 
script.setAttribute('async', 'async'); 
script.src = 'https://scriptexample.js'; 
document.body.appendChild(script); 

当我把这个代码通常效果很好,但是当代码是iframe的代码不工作得很好,不仅是内在iframe中显示。

我需要在代码中进行更改,以调用“顶/父”位置并显示脚本,即使它位于iframe内部也是如此?

感谢

回答

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(...); 
+0

谢谢ZitRo。但最终的代码如何?我不知道我需要在此代码中更改以显示iframe中的弹出窗口。非常感谢你。 –

+0

@JohnK。请说明您需要存储脚本的位置 - 主窗口或iFrame的窗口。 – ZitRo

+0

到主窗口。谢谢! –