IT技术博客大学习 共学习 共进步

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

PHPor 的Blog 2010-04-25 21:58:03 浏览 3,263 次
原来对浏览器兼容性的理解主要是:

    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> 

建议继续学习

  1. 浏览器的工作原理:新式网络浏览器幕后揭秘 (阅读 22,827)
  2. 浅析http协议、cookies和session机制、浏览器缓存 (阅读 17,203)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (阅读 15,706)
  4. 浏览器的渲染原理简介 (阅读 8,166)
  5. 程序员眼里IE浏览器是什么样的 (阅读 7,863)
  6. 各种浏览器审查、监听http头工具介绍 (阅读 7,725)
  7. 图说浏览器战争:火狐、微软、谷歌那些事 (阅读 7,345)
  8. 浏览器缓存机制 (阅读 7,101)
  9. [译]Google Chrome中的高性能网络 (阅读 6,504)
  10. 12款很棒的浏览器兼容性测试工具推荐 (阅读 6,144)