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> |