2011-05-23 67 views
5

所有的好日子。javascript,iframe,security - 當從父窗口訪問js函數時,權限被拒絕

我有一個包含iframe的頁面。在那個iframe中,我有一個名爲test()的函數。我需要從父窗口訪問該功能。詢問後我得到了這個解決方案:

<div onclick="document.getElementById('targetFrame').contentWindow.teste();">Test</div> 

點擊測試功能應該運行。問題是我得到「權限被拒絕訪問屬性測試」錯誤。

它看起來像一個權限錯誤,所以我改變了文件加載到777的iframe權限,但沒有任何結果。

注意:加載到iframe中的文件不在同一個域中。

+1

這已被問了很多次之前:http://stackoverflow.com/questions/364952/jquery-javascript-accessing-contents-of-an-iframe – ashwoods 2011-05-23 08:26:34

回答

10

默認情況下,由於瀏覽器使用same origin policy,所以禁止從其他域訪問網頁。有幾種解決方法,比如使用location.hash或window.name在框架之間進行通信。最新的和標準化的HTML5是postMessage接口。 有用於跨瀏覽器解決方案http://easyxdm.net/wp/的庫。

+1

好的...怎麼做我改變這個?我對這兩個域都擁有root權限。 – zozo 2011-05-23 08:18:02

+0

這是一個內部網,你可以控制所有的瀏覽器? – ashwoods 2011-05-23 08:22:26

+0

如果遇到這種情況,請嘗試使用http://easyxdm.net/wp/ – bjornd 2011-05-23 08:26:52