2015-09-23 95 views
0

我的問題是: 我有一些卡口與一個下拉菜單,每個標籤都有一個iframe: MY TABS插入在跨域iframe中的內容頭一個js

當用戶點擊下拉菜單,我需要運行在iframe中的內容有些JS,那麼我認爲,做正確的事情是這個js在我的html頁面:

var scriptTag = "<script>alert("blabla");<"; // saving script to run 
    scriptTag += "/script>"; //add this for fixing the script tag problem 
    $("#myframeid").contents().find("head").append(scriptTag); //appending the script on the head of iframe 

但是當我運行它,就像控制檯報告:

Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin " http://localhost:8080 " from accessing a frame with origin " http://www.otherdomainsite.com ". Protocols, domains, and ports must match.

顯然,如果它位於不同的域上,它不會運行,那麼我現在必須做什麼?難道我做錯了什麼?

我聽說過postMessage ecc ..方法,但我從來沒有使用過它們。

預先感謝您。

回答

0

您不允許針對外部域IFRAME執行代碼。

唯一的辦法是爲消息傳遞的每個方向設置代理iFrame。

ternarylabs

+0

有沒有解決方案,或者真的不可能? – Asjon