一个奇葩的最短的 IE 版本判断JS脚本_javascript技巧
程序员文章站
2022-04-30 19:00:00
...
使用 conditional comment 来判断 IE 的版本。嗯,是早早有人提出,但没有认真看代码。昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱。今天看到 Paul Irish 也提起,那么,推荐一下吧。这是作者博客上写的:
// ----------------------------------------------------------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
// ie === undefined
// If you're in IE (>=5) then you can determine which version:
// ie === 7; // IE7
// Thus, to detect IE:
// if (ie) {}
// And to detect the version:
// ie === 6 // IE6
// ie > 7 // IE8, IE9 ...
// ie // ----------------------------------------------------------
var a= 'b', c = 'd', e = 'f';
问了工友 @kangpangpang,再查了一下书。其实这个比较少见。通常是返回最后一个值。
var a = (1,2,3,5,6,0,9,4); // a === 4
嗯,大概就是这样。挺有趣的。
复制代码 代码如下:
// ----------------------------------------------------------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
// ie === undefined
// If you're in IE (>=5) then you can determine which version:
// ie === 7; // IE7
// Thus, to detect IE:
// if (ie) {}
// And to detect the version:
// ie === 6 // IE6
// ie > 7 // IE8, IE9 ...
// ie // ----------------------------------------------------------
// UPDATE: Now using Live NodeList idea from @jdalton
var ie = (function(){
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '',
all[0]
);
return v > 4 ? v : undef;
}());
注意一下这个 while 语句。是我觉得最有趣的。对于逗号操作符。我也不熟悉,还只是停留在像变量定义的用法上。比如:
复制代码 代码如下:
var a= 'b', c = 'd', e = 'f';
var obj = {
a: 'b',
c: 'd',
e: 'f'
}
问了工友 @kangpangpang,再查了一下书。其实这个比较少见。通常是返回最后一个值。
复制代码 代码如下:
var a = (1,2,3,5,6,0,9,4); // a === 4
嗯,大概就是这样。挺有趣的。
推荐阅读
-
js判断IE6/IE7/FF的代码[XMLHttpRequest]_javascript技巧
-
一个加载js文件的小脚本_javascript技巧
-
用JS判断IE版本的代码 超管用!_javascript技巧
-
js 全世界最短的IE浏览器判断代码_javascript技巧
-
判断某个字符在一个字符串中是否存在的js代码_javascript技巧
-
一个加载js文件的小脚本_javascript技巧
-
通过js脚本复制网页上的一个表格的不错实现方法_javascript技巧
-
js 全世界最短的IE浏览器判断代码_javascript技巧
-
兼容IE和FF的js脚本代码小结(比较常用)_javascript技巧
-
判断某个字符在一个字符串中是否存在的js代码_javascript技巧