Asp教程

通过asp实例结合结合ACCESS,MSSQL来更好的深入Asp学习 - 爬坡者

« 动态生成静态的文章系统要用到的一些函数本地图片,音乐等ASP防盗代码 »

JS代码多浏览器兼容

JS代码各个浏览器不兼容的问题,往往是由于各个浏览器各个版本访问标签的方式不同造成的。如果先判断浏览器类型、版本,再根据不同的浏览器、版本调用不同的JS语句,就可以解决不兼容的问题。这里没有的JS特效,请参考Haiwa的MyJS,但不保证多浏览器兼容。

主要JS代码(各个例子都要用到)
判断浏览器及版本的代码(点击这里测试你的浏览器类型):

var browser=navigator.appName; //浏览器名称
var browserVersion=parseInt(navigator.appVersion); //浏览器版本

根据浏览器和浏览器版本设计访问html标签的方法:

var N4=false;
var N6=false;
var IE=false;
if((browser=="Netscape")&&(browserVersion<5)){ //5.0之前的Netscape系
    starter="document.layers['";
    ender="']";
    styler="";
    N4=true;
} else if((browser=="Netscape")&&(browserVersion>=5)){ //5.0之后的Netscape系 
    starter="document.getElementById('";
    ender="')";
    styler=".style";
    N6=true;
}else{ //其他情况,如IE 
    starter="document.all['";
    ender="']";
    styler=".style";
    IE=true;
}

//说明:
//5.0之前的Netscape系浏览器通过document.layers['标签的ID']来找标签
//5.0之后的Netscape系通过document.getElementById('标签的ID')来找标签
//其他浏览器通过document.all['标签的ID']来找标签

操作标签的方法

eval(starter+"menu1"+ender+styler+".display='none'"); //在IE中即document.all['menu1'].style.display='none'
eval(starter+"input1"+ender+".value='KINGSOFT'"); //在FireFox中即document.getElementById('menu1').value='KINGSOFT'


掌握了上面方案的思想,就能保证编写的JS代码在各个浏览器下都可以正常运行

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80710

Copyright 2007-2008 papozhe.com [asp教程] All Rights Reserved.
浙ICP备07030537号
免责申明:所有文章除特别声明,均来自网上,主要为学习用!内容仅供参考,版权归原作者。如侵犯您利益,请来信告知.
Email:papozhe$Gmail.com QQ:76336503