最近在开发一个Javascript应用程序,我以DOM方法为首选,以兼容Firefox和IE浏览器为原则,在Firefox和IE下进行编写调试,不过遇到很多我哭笑不得的代码,符合W3C标准,却在IE下显示不正常,让我由衷感叹,IE的Javascript支持做的真是差,更让我觉得有点好笑的是,现在好多网站都支持IE却不支持Firefox,特别是国内网站。
现在,我把这些问题代码罗列在这里,希望以后能找到解决方法或替代方法。
1:奇怪的iframe边框 问题:用DOM方法创建的iframe在IE下竟然不能将边框设为0
问题浏览器:IE
代码:
1 <div id="testdiv"></div>
2 <script language="javascript">
3 var iframe = document.createElement("iframe");
4 iframe.setAttribute("id","f1");
5 iframe.setAttribute("name","f1");
6 iframe.setAttribute("width","100");
7 iframe.setAttribute("height","100");
8 iframe.setAttribute("frameBorder","0");
9 document.getElementById("testdiv").appendChild(iframe);
10 </script>
解决方法:用div代替iframe,设置div的CSS的overflow属性
2:script节点不能appendChild(TextNode)
问题:我用DOM方法创建的script标签下竟然不能appendChild(TextNode)
问题浏览器:IE
代码:
var s = document.createElement("script");
s.setAttribute("language","javascript");
s.setAttribute("type","text/javascript");
document.getElementsByTagName("body")[0].appendChild(s);
s.appendChild( document.createTextNode("alert('hello')");
解决方法:用document.write将script的内容写入网页
继续更新...
Ferris (CoffeeCat)
2007-11-11