浏览器检测就一直被Web开发者们批判的话题,尤其是user-agent嗅探饱受抨击,被认为是一种绝对不应该考虑的可憎做法,每出现一种新的浏览器都必须修改代码,如:
if(navigator.userAgent.indexOf("MSIE 7") > -1)
{
//do something
}
比较好的做法是“特性检测”,可以确定特定的对象或方法是否存在,他不需要了解使用的浏览器种类,只取决于浏览器具备的特性,因此实现对新浏览器的支持是轻而易举的事情。如:
if(document.getElementById) //DOM
{
element=document.getElementById(id);
}
else if(document.all)//IE
{
element=document.all[id];
}
else if(document.layers)//Netscape<6
{
element=document.layers[id];
}
本文探讨了Web开发中浏览器检测的弊端,特别是user-agent嗅探的问题,并推荐使用特性检测的方法来判断浏览器支持的功能,这种方法不依赖于特定的浏览器类型,而是关注浏览器的实际能力。
8147

被折叠的 条评论
为什么被折叠?



