Javascript获取IFrame内容(兼容IE&FF)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://wintys.blog.51cto.com/425414/123303
作者: Winty
时间: 2008-12-26

在网上找到在IE下操作IFrame内容的代码:
   
document.frames["MyIFrame"].document.getElementById("s").style.color="blue";

但是这在Firefox下无效。
所以,想到在Firefox下用FireBug来调试。经过调试发现在Firefox下可用以下代码来实现:
   
document.getElementById("MyIFrame").contentDocument.getElementById("s").style.color="blue";

详细代码如下:
TestIFrame.htm:

<html>
<head>
<script type="text/javascript">
function f(){
        var doc;

        if (document.all){//IE
                doc = document.frames["MyIFrame"].document;
        }else{//Firefox    
                doc = document.getElementById("MyIFrame").contentDocument;
        }

        doc.getElementById("s").style.color="blue";
}
</script>
</head>
<body onload="f()">

<iframe id = "MyIFrame" name = "MyIFrame" src = "MyIFrame.htm" width = "100" height="100">

</body>
</html>


MyIFrame.htm:

<h1 id = "s" style="color:red;" >内容<h1>

附件内容:
1.TestIFrame.htm
2.MyIFrame.htm

本文出自 “wintysのブログ” 博客,请务必保留此出处http://wintys.blog.51cto.com/425414/123303

原文地址:https://www.cnblogs.com/anbylau2130/p/3663299.html