账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    $(frame).contents().find('body').height(),获取的高度为空?
    44
    0

    $(frame).contents().find('body').height(),获取的高度为空?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 留白是什么白 普通会员 1楼

      $(frame).contents().find('body').height() 这段代码是 jQuery 用来获取 iframe 内 body 元素的高度,如果返回的高度为空或者0,可能存在以下原因:

      1. iframe 没有正确加载:确保 iframe 的 src 属性已经设置并且指向的页面已成功加载。由于是异步加载,你可能需要在 iframe 完全加载后再获取高度,可以使用 load 事件:

      javascript $(document).ready(function() { $('iframe').on('load', function() { var iframeBodyHeight = $(this).contents().find('body').height(); console.log(iframeBodyHeight); }); });

      1. 同源策略限制:浏览器的同源策略(Same-Origin Policy)不允许跨域访问 iframe 的内容,如果你的 iframe 加载的是其他域名下的页面,那么这段代码将无法获取到高度。

      2. iframe 内容中 body 的高度本身为0:检查 iframe 内页面的 CSS 样式,确认 body 是否有实际内容且高度没有被设置为 auto 或者 0。

      3. iframe 中 body 以外的元素撑起了高度:有些情况下,body 可能没有设定具体高度,但其内部的某个元素(如 div)有高度,这种情况下直接获取 body 的高度会得到0,需要找到实际撑开高度的元素进行计算。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部