如何去除网页中的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一下,自己无法解决再请教别人。






总结的很有参考价值
JQ效果炫,不好侍候
昨天有发现:跟着我的菜单是在RSS订阅下面
有些JS真的很讨厌
@博译论
留言真快哦。现在没问题了吧?
@vps观察者
嗯,有些牛人吧脚本写得很难懂
我看高人的代码,可以减少bug
我以前也写过相关的文章:
在线检测网页错误工具 http://www.zhukun.net/index.php/archives/1554
浏览器兼容问题也是网页设计的老大难啊!
js不可不用,却又有麻烦。以后应该有东西替代或是优化的吧
错位就错位吧,我习惯了
为IE写hack,确实很必要:-)
@平平
话说平平的博客的错位我都不知道是有意而为之还是,浏览器兼容问题了……
善于学习的好孩子啊。呵呵。。
只要FF出错的OP肯定出错,所以我现在改东西都在FF下操作。
@bolo
MG就是个牛人,他的全局思维很强,所以才能写出前一发动全身的代码。
其实高人很多,就是由时间有精力折腾的高人很少。呵呵
-0-偶太菜了,就用下本来就无BUG的js和css好了,小BUG可以忽略,hoho。(伪完美主义者闪过)
我经常拔人家的代码,一般经过修改都不怎么出问题啊
一说到css,我就头疼了。要在不同浏览器看到同样页面真是不容易
@我想想
多看别人的代码的确可以提高自己
@0cai
css一般都能兼容,脚本复杂些
@yoja
jQuery吧,一个很好的工具
@平平
修复一下可以提高访客体验哦
@simaopig
谢谢你的指导啊
@LAONB
两个浏览器都是兼容css3的,所以显示出来的样式不会相差太远
@seri
用框架做吗?这是一个好方法哦
@卢松松
熟练了当然少出错,何况你是专业的
@篮球博客
先按照w3c标准写,有bug再写hack就行了
很先进的思想。不过我对代码不是很熟。只能听天由命了。。希望高人能多加指导。。。
额。我也来掘金
ie6的占有量还是那么大,微软应该强制使用户使用ie8才行
Where are you from? Is it a secret?
@虾
只是我的心得,跟先进挂不上钩,哈哈
@小鬼
嗯,欢迎常来掘
@zwwooooo
呵呵,可是我喜欢ie7呢,等傲游3出了就不用ie了
@Dirnov
I’m from China.Welcome to my blog.
错位是每个WEB设计师头痛的问题。。。
“多google一下,自己无法解决再请教别人。” 很多时候,我都在想google 是成就了我们还是害了我们!!