0

源代码:

if (navigator.userAgent.toLowerCase().indexOf('msie') != -1 && parseInt($.browser.version, 10)<7)

已编辑 - 抱歉,发布了错误的代码。

识别低于 ie9 的浏览器的正确格式是什么?

谢谢

编辑 -

这是上面代码的原因:

if (navigator.userAgent.toLowerCase().indexOf('msie') != -1 ) {
                    hidden = document.createElement('<input type="hidden" name="' + atName + '" value="' + attrId + '"/>');
                } else {
                    hidden = document.createElement("input");

这是针对低于 IE9 的 createElement 问题

此外,我很想重写整个函数,但由于范围的原因,我无法重写文件,直到它包含在项目中 - 所以我需要重写这一行才能正常工作。

4

1 回答 1

1

AND不是有效的 javascript 关键字。VERSION似乎都没有在任何地方宣布。另外,我建议您永远不要针对特定​​的导航器或版本进行测试,而是针对浏览器是否支持您要使用的功能进行测试。一种称为特征检测的技术。因此,例如,如果您想使用HTML5 的 canvas 元素,请不要测试浏览器是否为 XXX 且版本为 YYY。测试浏览器是否支持 HTML canvas 元素。Modernizr是完成这项工作的绝佳图书馆。


更新:

如果你不想听到好的做法并且仍然坚持这个浏览器版本检测:

if ($.browser.msie && parseInt($.browser.version, 10) < 9) {
    alert('Warning, you are running a crap of a browser. Please upgrade!');
}
于 2011-10-18T18:35:47.280 回答