向后兼容
来源:互联网 发布:去日本必买的东西知乎 编辑:程序博客网 时间: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");
}
检测浏览器对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
- 向后兼容
- “向前兼容”&&“向后兼容”
- 向前兼容,向后兼容
- 兼容 向前兼容 向后兼容
- 向前兼容和向后兼容
- 向前兼容和向后兼容
- 向前兼容与向后兼容
- 向前兼容和向后兼容
- “向前兼容”与“向后兼容”
- 向前兼容与向后兼容
- 向前兼容和向后兼容
- 向前兼容和向后兼容
- 向前兼容和向后兼容
- 向前兼容和向后兼容
- 向前兼容和向后兼容
- Oracle解决向后兼容
- 向后兼容--对象检测
- 向前向后兼容
- Java 中 finally块与return语句的返回顺序
- ionic结合HTML5实现打电话功能
- Maven中Spring-Data-Redis存储对象(redisTemplate)
- 【HDU1255】【线段树】【扫描线】【面积】
- tomcat插件安装及项目部署
- 向后兼容
- 不要滥用架构隐喻
- Missing Number
- redis获取自增长序号
- java并发:Semaphore 的使用
- java.lang.ClassNotFoundException: org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver
- leetcode Binary Tree Right Side View
- JSON对象遍历
- php导出excel(多种方法)