2011-02-04 41 views

回答

2

不,我幾乎可以肯定沒有辦法做到這一點。

你可以嘗試像

var current = window; 
while (current.parent != current) { 
    current = current.parent; 
} 

,但我懷疑你會失敗,多個域,由於same origin policy。不過,可能值得一試。可能訪問被阻止僅用於文檔內容,而不用於窗口對象。

+0

我嘗試了類似`current == top`的測試,導致無限循環,因爲'top`和`window.parent`是'undefined`。 – sprugman 2011-02-04 20:03:16

0

這不是水平的#但是這樣似乎可以識別,如果你的內容已的iframe不止一次:

if (parent !== window) { 
    //I'm iframed once for sure 
} 
if (parent !== top) { 
    //I'm iframed more than once 
} 

使用Chrome 59,Safari瀏覽器10,火狐54,邊緣15測試, IE11

相關問題