此文会随时更新,用于记录工作中遇到的各种浏览器差异。不仅只限于js,也可能涉及到其他方面,因此分类仅供参考。
1. Chrome和Safari无法显示WebService中的wsdl文件,IE8、FF、Opera均可显示。
2. setTimeout(jsStr, delayTime) :
在IE中直接输入jsStr是可行的,但在FF中会报错;
解决方法:无论任何情况,均采用setTimeout(function(){fun();}, delayTime); 的形式,适应各种浏览器。
3. 数组定义差异一例:
在IE中(尤其是IE6-7),数组定义要求非常严格,尤其是Json格式的键值数组,最后一个选项后不能加逗号,例如:
var arr = [
{"id": "123"},
{"name": "Leo"}, //这里如果加逗号就会报错
]
在FF中无此严格规定。
4. FF不支持通过document.location.href(url); 或 window.location.href(url);
如果要用js开发退出登录功能, 可以用window.open(url, '_self'); 来替代。
5. IE6环境中,如下格式无效:
<td><p>而在IE8和FF中,插入了p标签的td会被撑开</p></td>
IE7中暂未测试。
6. CSS差异:
overflow:hidden; 表示超出的部分隐藏,但在非IE浏览器下,还有清除浮动的效果(clear:both)