2006-11
16
理智地、负责任地、透明地推广Firefox

调试JavaScript遇到灵异,涉及DW\Firefox\IE6(7)

特别奇怪的一件事情,我在DW中编辑一段调试用的JS代码。发现DW居然会自作聪明的帮我完成一些莫名其妙的替换?
我申明了一个函数

function $(o){return document.getElementById(o);}

DW居然把所有的“document.getElementById”自作主张地替换成为了$……这DW也太聪明了?
更奇怪的是,我后来把$(o)的声明彻底撤除,在IE下立即就出问题了(正常,因为我撤除了嘛!),然而在FF下,居然还能正常运行代码,我强刷了之后也是如此,FF也太聪明了吧?
此外,有一次用JS设置某个DOM节点style的时候,FF令人发指地把“100px;”中的分号给自作聪明地拿掉了。于是我的整个功能写好之后发现在IE下不能跑。用该死的alert进行debug,搞了一个钟头才发现问题在这里……汗颜
回想起此前,David曾经抱怨过FF会自动把example.com替换成www.example.com来解析的问题。也是造成调试很久而不得其解。

好在最后终于找到了问题,解决了。但回想起来仍然心有余悸。接下来的一个项目将主持JavaScript的开发,希望不要老遇到这种事情。

Firefox和DW都是我热爱的软件,它们为我完成了99%的工作。这也是众多计算机软件的一大特色:节省时间和重复劳动
然而,往往这样的聪明,也会带来诸如以上提到的麻烦。我觉得有限度智能化非常重要,尤其是一些开发型软件,一定不要替开发者考虑太多,否则极其容易产生误解。

: http://www.awflasher.com/blog/archives/721

哇!跟我一样,您也是一名Firefox用户,这些话题您可能感兴趣:

RSS feed | Trackback URI

才 2 条评论 ( 展开所有评论 | 收起所有评论 ) 立刻发表评论 »

david
2006-11-21 18:09:19

感慨一下~
不过dw里面替换document.getElementById的问题我倒没碰到,你是哪个版本?如何操作的?

BlueDrifter
2008-04-01 00:52:28

呵呵,很有趣的文章,不过本人知识有限DW是指什么?DatabaseWarehouse么?