浏览器检测就一直被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];
}