簡體   English   中英

如何找出元素是否在隱藏的iframe中

[英]How to find out whether an element is in a hidden iframe

使用jQuery,您可以輕松地通過使用jQuery查找特定元素是否可見

$(element).is(':visible')

雖然有一些限制(沒有隱藏css可見性或視口中的實際可見性,即它是否被其他元素覆蓋或滾動了),但我發現它對我的場景很有用。 問題是,它只能在一個iframe中使用。

如果元素在其文檔中具有display:none;任何父元素display:none; ,它返回false。 如果整個文檔包含在具有display:none的iframe中,則返回true。 是否有可能以其他方式檢測到這一點?

嗯,好像您必須在iframe中調用頂級(父)文檔,然后搜索特定的iframe並檢查它是否可見。

您可能必須具有相同的域/子域才能運行,但是無論如何:

假設您知道iframe ID /類(必須)。

if ($(top).find('#iframeID').is(':visible')) {
  // iframe is visible
} else {
 // iframe is NOT visible
}

無法保證正確的工作。

似乎該窗口的frameElement屬性可在所有瀏覽器中使用,並提供包含該窗口的當前iframe(如果不適用跨域限制,我就是這種情況)。

不可能afaik。 iframe基本上是一個不同的站點,因此要防范xss。 根本不使用iframe,而是使用服務器端包含。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM