CoffeeCat's IT Blog

奇怪的不兼容Javascript代码

    最近在开发一个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

posted on 2007-11-11 10:38 CoffeeCat 阅读(701) 评论(4)  编辑 收藏 引用

评论

# re: 奇怪的不兼容Javascript代码 2007-12-01 17:23 daisylh

關注中  回复  更多评论   

# re: 奇怪的不兼容Javascript代码 2007-12-01 21:07 CoffeeCat

@daisylh
谢谢!
现在我使用mootools框架开发Javascript,这样可以避免浏览器兼容性的问题,而且这个框架能够很方便的开发界面效果,比如渐变啦,拖曳啦之类的~您也可以试试~  回复  更多评论   

# re: 奇怪的不兼容Javascript代码 2008-03-07 08:52 sonicdx

不仅是 Firefox和IE,要开始考虑 OSX下的safari的兼容性了。Leopard的成功让safari的使用率上升的飞快。  回复  更多评论   

# re: 奇怪的不兼容Javascript代码 2008-03-07 20:08 CoffeeCat

@sonicdx
呵呵,这个难度比较大,如果还要考虑safari的话,那就只好在虚拟机上调试代码了,因为我没有Apple机,呵呵~
等到以后safari在中国的占有率超过20%后,我才会考虑将代码在safari中进行调试,现在,我以创建符合W3C标准的代码为目标~  回复  更多评论   

只有注册用户登录后才能发表评论。
<2007年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

导航

统计

公告

常用链接

留言簿(203)

随笔档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜