首頁 > web前端 > js教程 > 如何確定網頁是在 iFrame 還是瀏覽器視窗中載入?

如何確定網頁是在 iFrame 還是瀏覽器視窗中載入?

Barbara Streisand
發布: 2024-12-08 11:38:11
原創
191 人瀏覽過

How Can I Determine if a Webpage is Loaded in an iFrame or a Browser Window?

確定網頁是否載入到iFrame 或瀏覽器視窗

開發基於iframe 的應用程式時,有必要區分是否載入網頁在iframe中載入或直接在瀏覽器視窗中載入。這種理解可以為不同的場景提供客製化的功能。

檢測載入上下文

批准的方法涉及利用window.self 和window.top 屬性:

const inIframe = () => window.self !== window.top;
登入後複製

window.self 屬性:

window.self 指的是目前視窗對象,而window.top 指的是頂層視窗。如果這兩個物件不相同,則表示網頁是在 iframe 內載入的。

解決瀏覽器相容性

在最近的瀏覽器中,此方法得到廣泛支持,允許準確的 iframe 檢測。不過,建議在使用較舊的瀏覽器時務必小心,因為某些瀏覽器可能會因安全限製而阻止存取 window.top。

替代方法

function inIframe () {
    try {
        return window.self !== window.top;
    } catch (e) {
        return true;
    }
}
登入後複製

解決瀏覽器不一致的問題,另一種方法涉及使用try-catch 區塊:

如果對window .top 的存取被拒絕,則catch block 會捕獲異常並傳回true,表示該網頁可能是在iframe中載入的。

以上是如何確定網頁是在 iFrame 還是瀏覽器視窗中載入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板