向后兼容

来源:互联网 发布:去日本必买的东西知乎 编辑:程序博客网 时间:2024/06/09 20:21
向后兼容
检测浏览器对JavaScript的支持程度。这个解决方案很容易实现:只要把某个方法打包在一个if语句时,就可以根据这条if
语句的条件表达式的求值结果是true(这个方法存在)还是false(这个方法不存在)来决定应该采取怎样的行动。这种检测称为对象检测。
例如,如果有一个使用了getElementById()方法的函数,就可以在调用getElementById()方法之前先检查用户所使用的浏览器是否支持这个方法。
注意,在使用对象检测时,一定要删掉方法名后面的圆括号,如果不删掉,测试的将是方法的结果,无论方法是否存在。
因为,如果某个浏览器不支持getElementById()方法,它就永远也不会执行使用此方法的语句。


jsTest.js:


window.onload=prepareLinks;
function prepareLinks()
{
if(!document.getElementsByTagName) return false;//这一行就是检测吧!没果不支持这个方法就返回false了!
var links = document.getElementsByTagName("a");
for(var i=0; i<links.length;i++)
{
if(links[i].getAttribute("class")=="popup")
{
links[i].onclick = function()
{
popUp(this.getAttribute("href"));
return false;
}
}
}
}


function popUp(winUrl)
{
window.open(winUrl,"popup","width=320,height=480");
}


0 0