javascript获取指定url网页高度
在跨域情况下,您无法直接获取iframe中显示网页的高度。这是因为iframe加载的网页来自不同的域,浏览器出于安全考虑阻止了跨域操作。
postmessage api
如果您有权在加载的网页中执行代码,则可以使用postmessage api。该api允许您在iframe的父页面和子页面之间传递消息,包括子页面的高度。以下是如何做:
父页面代码:
// 将消息发送到iframe iframe.contentwindow.postmessage({type: 'getheight'}, '*') // 监听iframe消息 window.addeventlistener('message', (e) => { if (e.data.type === 'height') { iframe.style.height = `${e.data.height}px`; } });
登录后复制
子页面代码:
// 接收父页面消息 window.addEventListener('message', (e) => { if (e.data.type === 'getHeight') { // 获取页面高度 const height = document.documentElement.offsetHeight; // 将高度发送回父页面 parent.postMessage({type: 'height', height}, '*'); } });
登录后复制
限制
请注意,postmessage api需要双方页面都实现消息传递逻辑。如果您无法控制加载的子页面,则无法使用此方法。
以上就是跨域情况下,如何获取iframe中网页的高度?的详细内容,更多请关注抖狐科技其它相关文章!
-
小红书运营技巧文案分析
小红书文案撰写技巧:定位明确、标题引人注目、正文简洁易懂、图片精美吸引。不同类型文案分析:1. 种草文案:激发购买欲、真实体验分享;2. 口碑文案:展示正面评价、回应负面意见;3. 活动文案:突出活动...
-
原神天空之卷满级属性介绍
问题:原神中天空之卷满级属性是什么?随着原神游戏中的进程,装备道具的属性成为影响角色战斗力的关键。作为游戏中备受关注的武器之一,“天空之卷”在满级时拥有怎样的属性呢?引导阅读:本文旨在为玩家详细介绍天...
-
使用中间件在 Golang 中处理错误
在 golang 中通过中间件处理错误:创建中间件:实现 http.handlerfunc 接口并传入自定义逻辑。注册中间件:在应用程序路由器中注册中间件以在请求处理之前调用它。实战案例:创建了一个...
-
作业帮怎么去掉手写痕迹
作业帮去除手写痕迹有两种方法:打开图片,选择“橡皮擦”工具,调整大小和强度擦除痕迹。点击“编辑”按钮,选择“智能抠图”,系统自动抠出痕迹,点击“确定”即可去除。作业帮去除手写痕迹方法 作业帮是一款深受...
-
欢太健康怎么同步微信步数 同步微信步数操作方法
许多人渴望同步欢太健康的步数记录到微信运动中,以丰富社交体验或激励自己。为了满足这一需求,php小编子墨特地汇总了一篇详细指南,帮助你轻松实现这一目标。本文将分步指导你完成设置,让你可以无缝同步你的步...