【问题标题】:Difference between contentDocument and contentWindow javascript iframe/frame access propertiescontentDocument 和 contentWindow javascript iframe/frame 访问属性之间的区别
【发布时间】:2023-03-26 17:22:01
【问题描述】:
  • 这两个属性(contentDocument 和 contentWindow)有什么区别?
  • 他们访问 框架/iframe?
  • 是否存在任何性能问题?
  • 我应该使用contentXXXXX.document.getElementsBy... 还是 contentXXXXX.getElementsBy...?

我一直在网上搜索,但没有找到太多信息,在我进行大量研究之前,我想我可以在 stackoverflow 上向伟大的社区提问。作为评论,我正在编写一个脚本来计算网页上的输入,访问所有级别的框架或 iframe,并将在框架/iframe 中找到的那些输入添加到全局计数中。所有内容都应该来自同一个域,所以我相信同源策略应该没有问题。对于脚本,我使用纯 JavaScript 没有 jQuery 或任何让生活更轻松的框架/库 u_u jaja。这是一个练习脚本,如果有人想看一下代码,我会发布它,没问题。感谢任何花时间解释这一点的人!

【问题讨论】:

    标签: javascript iframe frame


    【解决方案1】:

    我认为<iframe> MDN documentation 解释得很好:

    通过 DOM iframe 元素,脚本可以通过 contentWindow 属性访问包含的 HTML 页面的 window 对象。 contentDocument 属性指的是iframe 中的document 元素(这相当于contentWindow.document),但IE8 之前的Internet Explorer 版本不支持。

    因此,您可以像使用 windowcontentDocument 一样使用 contentWindow,就像使用 document

    【讨论】:

    • 感谢您的帮助,我应该开始更仔细地查看文档。感谢您提供的链接,它实际上非常清楚。
    • 我试过了,5 年后我无法使文档工作。我的 CodePen 是 codepen.io/david263/pen/GwPgwL
    • 我的 IE 11 没有 contentDocument 属性
    • 在某些情况下contentDocumentcontentWindow.document 给出不同的结果,所以要小心(example)。为了安全起见,请使用contentDocument
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2016-04-12
    • 2020-12-15
    • 2014-04-06
    • 1970-01-01
    • 2015-07-01
    • 2010-11-07
    • 2012-10-03
    相关资源
    最近更新 更多