您现在的位置: 365建站网 > 365文章 > HTMLFrameElement 的 document 属性

HTMLFrameElement 的 document 属性

文章来源:365jz.com     点击数:375    更新时间:2015-09-16 20:32   参与评论

标准参考

根据 DOM-2 中的描述,HTMLFrameElement 和 HTMLIFrameElement 都没有 'document' 属性。

关于 HTMLFrameElement 对象的详细信息,请参考 DOM-2 Interface HTMLFrameElement 中的内容。

关于 HTMLIFrameElement 对象的详细信息,请参考 DOM-2 Interface HTMLIFrameElement 中的内容。

问题描述

仅 IE Opera 支持使用 HTMLFrameElement.document 和 HTMLIFrameElement.document 属性得到框架页的 HTMLDocument 对象。这个属性是非标准的。

造成的影响

如果试图通过 HTMLFrameElement 和 HTMLIFrameElement 对象的 'document' 属性获得框架页的 HTMLDocument 对象,在 FrireFox Chrome Safari 中将得到 'undefined'。

受影响的浏览器

IE6 IE7 IE8 Opera  

问题分析

分析以下两组测试代码,他们分别尝试获取 HTMLFrameElement 和 HTMLIFrameElement 的 'document' 属性:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script>
        window.onload=function(){
        alert(document.getElementById("frame").document); };
    </script>
</head>
<frameset>
    <frame id="frame" src="_content.html" />
</frameset>
</html>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script>
        window.onload=function(){
        alert(document.getElementById("frame").document); };
    </script>
</head>
<body>
    <frame id="frame" src="_content.html" />
</body>
</html>

以上测试用例中,只有 IE6 IE7 IE8 Opera 对两者均会得到一个 HTMLDocument 对象(即框架内页面的 document 对象),而其他浏览器返回的是 'undefined'。

注:以上测试与文档模式无关。

解决方案

使用 HTMLFrameElement 或 HTMLIFrameElement 对象的 contentWindow 属性得到该框架页的 window 对象应用,再访问其下的 document 对象。

即把上述测试代码的 'XXX.document' 更改为 'XXX.contentWindow.document',如:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script>
        window.onload=function(){
        alert(document.getElementById("frame").contentWindow.document); };
    </script>
</head>
<frameset>
    <frame id="frame" src="_content.html" />
</frameset>
</html>

 

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (375人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号