2012-03-19 46 views
4

如何訪問在子窗口中的父窗口中定義的全局對象或數組。從iFrame/Window訪問JavaScript中的父對象

<script> 
    var events_data; 
    function function_to_fill_events_data() { 
     . 
     . 
     . 
    } 
</script> 

<div> 
    <div><iframe src="mini.php" width:100%; height: 100%;" scrolling="no"></iframe> </div> 
</div> 

當我在迷你文檔中時我希望能夠訪問JavaScript函數中的events_data變量。

回答

8

選項1

你的標題提到了一個子窗口。如果你有一個子窗口,而不是一個iframe中,使用此:

window.opener.events_data 

退房window.opener on MDN

選項2

你的代碼表明您使用的是iframe中。從一個iframe,只需使用parent

parent.events_data; 

退房window.parent on MDN


window.opener - 返回對打開當前窗口的窗口的引用。

window.parent - 當窗口加載到,或,其父窗口中的元素是嵌入窗口元素的窗口。

+0

太棒了。選項2,它的工作原理。 – user823527 2012-03-19 17:00:48

+0

那麼權限deniel呢?如果瀏覽器不允許從iframe訪問父項屬性? – 2012-03-20 13:30:31

+0

如果我沒有弄錯,當iframe的內容從另一個域加載時發生這種情況 – 2012-03-20 13:40:24