使用 Messenger 跨域調整 iFrame 大小
由於跨域存取的限制,在不同網域上調整 iFrame 大小會帶來挑戰。雖然存在多種解決方案,但最有效的解決方案之一涉及使用信使。
一種方法是使用 easyXDM,這是一個促進不同領域之間通訊的函式庫。在伺服器上,建立一個具有 easyXDM 功能的頁面並將其設定為 iFrame 的目標。此頁面將接收來自 iFrame 的訊息並相應地調整其大小。
在呼叫者的網域上,包含在伺服器上使用的相同中間頁。當使用者造訪此網域上的 iFrame 時,中間頁面會將調整大小指令轉送給 iFrame。
另一個選項是利用 postMessage API。子頁面計算其高度並將其傳送到父頁面,父頁面會調整 iFrame 高度。父頁面中的事件監聽器接收來自子頁面的訊息,並將新的高度傳達給 iFrame。
其他方法
雖然這些訊息方法是可靠的,但還有其他值得考慮的方法:
- 3 個iFrame: 這個技術涉及嵌套多個iFrame,但在某些瀏覽器中可能會遇到問題。
- 測量滾動高度:嘗試確定 iFrame 的滾動高度可以提供其大小的估計。
- 計算樣式: Chrome 在檢查期間提供 iFrame 內元素的尺寸,儘管直接存取此資料通常不可行。
- HTML4: HTML4 規格概述了元素維度的唯讀屬性,但它們不容易跨網域存取。
- 代理框架: 將第三方網站指定為 iFrame 的來源可以在代理站點上調整大小。但是,在某些場景下可能不切實際或不適合。
- 重新渲染頁面:複雜的 JavaScript 引擎,例如 HTMLUnit 或 MaxQ,可以在非 HTML5 上模擬渲染並執行腳本頁面以方便調整大小。
以上是如何使用 Messenger 調整跨域 iFrame 的大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

這是我們在形式可訪問性上進行的小型系列中的第三篇文章。如果您錯過了第二篇文章,請查看“以:focus-visible的管理用戶焦點”。在

本教程演示了使用智能表單框架創建外觀專業的JavaScript表單(注意:不再可用)。 儘管框架本身不可用,但原理和技術仍然與其他形式的建築商相關。

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具