首頁 >web前端 >js教程 >我的網頁是直接載入還是在 iFrame 內載入?

我的網頁是直接載入還是在 iFrame 內載入?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-14 08:54:12167瀏覽

Is My Webpage Loaded Directly or Inside an iFrame?

辨識 iFrame 與直接頁面載入

在 Web 開發中,可能需要確定網頁是在 iFrame 內載入還是直接載入到瀏覽器視窗中。這種差異可能會對網頁的行為和功能產生影響。

辨識這種差異的一種方法是比較 window.self 和 window.top 物件。在直接載入到瀏覽器視窗中的網頁中,這兩個物件將引用相同的視窗物件。但是,當在 iframe 中載入時,window.self 將引用 iframe 窗口,而 window.top 將引用父窗口。

要以可靠的方式檢查這一點,可以使用以下程式碼:

const inIframe = () => window.self !== window.top;

但是,需要注意的是,儘管這種方法在大多數瀏覽器中都很可靠,但它可能會受到跨網域限制的影響,尤其是在Internet Explorer 中。因此,仔細處理潛在的錯誤非常重要。

更新(2024):

根據跨域腳本 API 存取的文檔,window.self 和 window .top 包含在允許的跨域屬性中。這表示以下程式碼應該提供更一致且可靠的方法來偵測 iFrame:

const inIframe = () => window.self !== window.top;

以上是我的網頁是直接載入還是在 iFrame 內載入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn