2016-07-28 94 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

到主窗口。謝謝! –