关于对浏览器兼容性的一点点理解

原来对浏览器兼容性的理解主要是:

1. 要对浏览器兼容性做判断
2. 不是所有浏览器都支持的东西尽量不要用

今天看了QQ空间的一点代码,有所启发:
1. 要善于利用浏览器的一些特性;比如,现在的主流浏览器是IE和FF,IE中有很多功能是FF中所没有的,如果用js来实现这些功能可能是很大一段的js;按照原来的想法就是不去使用IE的那个功能,统一使用js来实现,这样自然没有兼容性问题。但是今天的想法却是: 在IE中就是用IE提供的功能,只有在FF中才通过js来实现; 这样做的好处就是,对于大部分的用户不需要下载那一大段的js了,对用户和服务器都是有好处的。有些功能是FF中有的,IE中没有,我们也可以这么来做。

2. 下面给出一段QQ空间的代码:http://b.cnc.qzone.qq.com/proxy.html

<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><SCRIPT>
document.domain = "qq.com";var b=false;
if (window.execScript)try{execScript("b=Asc(‘啊’)=-20319","vbscript");
}catch(e){status = "系统vbscript引擎可能已经被损坏或者反注册。尝试运行 regsvr32 vbscript.dll 命令有可能解决此问题";
}
if(!b){
document.write("<script language=’javascript’ src=’http://imgcache.qq.com/qzone/client/js/gbk.js’><\/script>");
}else{
document.write("<script language=’vbscript’ src=’http://imgcache.qq.com/qzone/proxy.vbs’><\/script>");
String.prototype.GBEncode=function(){return URLEncoding(this)}
}
</SCRIPT><script src="http://imgcache.qq.com/qzone/proxy.js"></SCRIPT><script>
if (typeof proxyLoaded=="undefined"){
document.createElement("SCRIPT").src="http://imgcache.qq.com/qzone/proxy.js?"+Math.random();
alert("proxy脚本无法正常下载,可能与您当地的网络状况有关系。\n请您关闭浏览器,重新打开空间进行尝试。");
}
</script>
</head></html>

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据