首頁 > web前端 > css教學 > 如何存取跨域 IFrame 元素的計算樣式(例如高度和寬度)?

如何存取跨域 IFrame 元素的計算樣式(例如高度和寬度)?

Susan Sarandon
發布: 2024-11-30 02:16:10
原創
691 人瀏覽過

How Can I Access Computed Styles (e.g., Height and Width) of a Cross-Domain IFrame Element?

跨域存取計算樣式

在 Web 開發中,從跨域元素取得計算樣式可能會帶來挑戰。在本例中,您的目標是從不同的域檢索 iframe 中元素的高度和寬度計算樣式。

方法

要存取此中的計算樣式場景,請考慮以下方法:

  • window. getCompulatedStyle() for WebKit瀏覽器:

    1. WebKit 瀏覽器(例如​​ Safari 和 Chrome)提供了 window.getCompulatedStyle() 方法。
    2. 您可以如下使用它:

      window.getComputedStyle(document.getElementById("frameId"), null).getPropertyValue("height");
      登入後複製
    3. 這將傳回計算出的樣式值(例如, "1196px")。
  • IE 的 element.currentStyle:

    1. Internet Explorer 使用 element.currentStyle 屬性來存取計算樣式。
    2. 範例用法:

      document.getElementById("frameId").currentStyle.height;
      登入後複製
    3. 請注意,element.currentStyle 僅反映在元素上明確設定的樣式,而不反映計算值。
  • 導覽至iFrame 的DOM:

    1. 如果您需要存取iframe 內容的計算樣式(例如HTML 元素) ,您可以導覽到iFrame 的DOM。
    2. 使用 iframeObject.contentDocument.documentElement 存取 iFrame 文件的根元素。
    3. 然後您可以將 window.getCompulatedStyle() 或 element.currentStyle 應用於 iframe中的適當元素DOM.

範例

使用您提供的程式碼,以下是如何擷取HTML 的高度計算樣式的範例iframe中的元素使用window.getCompulatedStyle():

window.getComputedStyle(document.getElementById("frameId").contentDocument.documentElement, null).getPropertyValue("height");
登入後複製

補充說明

  • 確保iframe有id屬性,方便元素選擇
  • 螢幕截圖中指定的高度和寬度值似乎以像素為單位,但必須在實際中驗證它們的單位場景。

以上是如何存取跨域 IFrame 元素的計算樣式(例如高度和寬度)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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