使用 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的管理用户焦点”。在

CSS盒子阴影和轮廓属性获得了主题。让我们查看一些在真实主题中起作用的示例,以及我们必须将这些样式应用于WordPress块和元素的选项。

Svelte Transition API提供了一种使组件输入或离开文档(包括自定义Svelte Transitions)时动画组件的方法。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能