Home > Internet > 如何去除网页中的BUG(思路)
2009June . 29th

如何去除网页中的BUG(思路)

昨天下午的时候在mg12那里扒了一段代码,做了点修改,做成了我现在的“feed订阅”和“跟着我!”菜单。由于在做的时候忘了在各种浏览器上做兼容性测试,导致上线以后我才发现,“跟着我!”菜单在opera、firefox等浏览器里都错位了。
经过我的观察,我初步认定bug的根源在菜单的jQuery脚本里,那里使用了一个很少见的方法指定菜单的位置。由于我对jQuery并不熟悉,于是我请教了jQuery玩得不错的小小子同学,我们两人合力还是没把问题解决。
说说正题吧。当网页中出现BUG的时候应该怎么解决呢?

1、测试在各种主流浏览器里BUG表现出来的效果
由于各种浏览器使用的核心不同,它们对于相同的代码有事会表现出不同的效果。通过在不同浏览器里的比较,基本上就可以确定BUG到底是由脚本、css还是html结构引起的了。同时,推荐用firebug查看一下页面结构。
2、确定了BUG由什么引起以后,需要对该段代码进行分析
HTML文件里,只要确定各个标签之间已经正确闭合,一般不会有大问题出现。这里要说的就是css和JavaScript脚本对浏览器的兼容性了。这两者之间通常是紧密结合的。以我修改“跟着我!”菜单的位置为例。一开始我是怀疑相关的jQuery脚本里一个确定菜单位置的方法引起的,由于这个方法使用的语句很少见,网上的资料也不多,因此我和小小子都没办法通过修改脚本来修复bug。既然从脚本入手无法解决,既然和布局有关,那就试试修改css吧!
3、用自己最有把握的方法修复BUG
css是我最擅长的一种web设计语言。要修复菜单错位的BUG,我需要为除ie以外的浏览器加上一个margin-left属性。写了两句css hack后,重新测试一下,问题解决了。

另外总结出下面几点:
1、设计网页时尽量用常见的语句,无论是写脚本还是css,这样对后面修复意外出现的bug和进一步修改都会带来很大方便,而且,符合标准的代码兼容性一般也比较强。
2、少扒别人的代码,会写的尽量自己写,这样才能在以后的修改和bug的修复过程中自己能有一个清晰的思路。
3、尽量在多个浏览器里进行测试,然后从BUG最严重的浏览器开始修复兼容性问题。
4、增加代码最好不要对已有的框架进行改动。在我无法通过脚本修复菜单bug的时候,我曾经有利用另一个html结构重写菜单的冲动,幸好我没有这么做,否则重新写css并测试兼容性是一个很麻烦的事。
5、多google一下,自己无法解决再请教别人。

推荐到豆瓣
  1. 2009June . 29th - 6:28 PM

    总结的很有参考价值
    JQ效果炫,不好侍候
    昨天有发现:跟着我的菜单是在RSS订阅下面

  2. 2009June . 29th - 6:29 PM

    有些JS真的很讨厌 :grin:

  3. 2009June . 29th - 6:31 PM

    @博译论
    留言真快哦。现在没问题了吧?
    @vps观察者
    嗯,有些牛人吧脚本写得很难懂

  4. 2009June . 29th - 8:43 PM

    我看高人的代码,可以减少bug

  5. 2009June . 29th - 8:59 PM

    我以前也写过相关的文章:
    在线检测网页错误工具 http://www.zhukun.net/index.php/archives/1554

  6. 2009June . 29th - 9:54 PM

    浏览器兼容问题也是网页设计的老大难啊!

  7. 2009June . 29th - 10:00 PM

    js不可不用,却又有麻烦。以后应该有东西替代或是优化的吧

  8. 2009June . 29th - 10:35 PM

    错位就错位吧,我习惯了

  9. 2009June . 29th - 10:44 PM

    为IE写hack,确实很必要:-)

  10. 2009June . 29th - 10:54 PM

    @平平
    话说平平的博客的错位我都不知道是有意而为之还是,浏览器兼容问题了……

  11. 2009June . 29th - 10:58 PM

    善于学习的好孩子啊。呵呵。。

  12. 2009June . 29th - 11:19 PM

    只要FF出错的OP肯定出错,所以我现在改东西都在FF下操作。

  13. 2009June . 29th - 11:21 PM

    @bolo
    MG就是个牛人,他的全局思维很强,所以才能写出前一发动全身的代码。

  14. 2009June . 29th - 11:58 PM

    其实高人很多,就是由时间有精力折腾的高人很少。呵呵
    -0-偶太菜了,就用下本来就无BUG的js和css好了,小BUG可以忽略,hoho。(伪完美主义者闪过)

  15. 2009June . 30th - 9:44 AM

    我经常拔人家的代码,一般经过修改都不怎么出问题啊

  16. 2009June . 30th - 10:52 AM

    一说到css,我就头疼了。要在不同浏览器看到同样页面真是不容易

  17. 2009June . 30th - 12:09 PM

    @我想想
    多看别人的代码的确可以提高自己
    @0cai
    css一般都能兼容,脚本复杂些
    @yoja
    jQuery吧,一个很好的工具
    @平平
    修复一下可以提高访客体验哦
    @simaopig
    谢谢你的指导啊
    @LAONB
    两个浏览器都是兼容css3的,所以显示出来的样式不会相差太远
    @seri
    用框架做吗?这是一个好方法哦
    @卢松松
    熟练了当然少出错,何况你是专业的
    @篮球博客
    先按照w3c标准写,有bug再写hack就行了

  18. 2009June . 30th - 12:40 PM

    很先进的思想。不过我对代码不是很熟。只能听天由命了。。希望高人能多加指导。。。

  19. 2009June . 30th - 1:14 PM

    额。我也来掘金

  20. 2009June . 30th - 1:30 PM

    ie6的占有量还是那么大,微软应该强制使用户使用ie8才行

  21. 2009June . 30th - 7:59 PM

    Where are you from? Is it a secret? :)

  22. 2009June . 30th - 8:20 PM

    @虾
    只是我的心得,跟先进挂不上钩,哈哈
    @小鬼
    嗯,欢迎常来掘
    @zwwooooo
    呵呵,可是我喜欢ie7呢,等傲游3出了就不用ie了
    @Dirnov
    I’m from China.Welcome to my blog. :wink:

  23. 2009July . 3rd - 8:56 PM

    错位是每个WEB设计师头痛的问题。。。

  24. 2009July . 6th - 5:46 PM

    “多google一下,自己无法解决再请教别人。” 很多时候,我都在想google 是成就了我们还是害了我们!!

Subscriber selector

Close