源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

一个奇葩的最短的 IE 版本判断JS脚本

  • 时间:2021-08-04 20:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:一个奇葩的最短的 IE 版本判断JS脚本
使用 conditional comment 来判断 IE 的版本。嗯,是早早有人提出,但没有认真看代码。昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱。今天看到 Paul Irish 也提起,那么,推荐一下吧。这是作者博客上写的:
[u]复制代码[/u] 代码如下:
// ---------------------------------------------------------- // 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 < 9 // Anything less than IE9 // ---------------------------------------------------------- // 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 = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',         all[0]     );     return v > 4 ? v : undef; }());
注意一下这个 while 语句。是我觉得最有趣的。对于逗号操作符。我也不熟悉,还只是停留在像变量定义的用法上。比如:
[u]复制代码[/u] 代码如下:
var a= 'b', c = 'd', e = 'f'; var obj = {  a: 'b',  c: 'd',  e: 'f' }
问了工友 @kangpangpang,再查了一下书。其实这个比较少见。通常是返回最后一个值。
[u]复制代码[/u] 代码如下:
var a = (1,2,3,5,6,0,9,4); // a === 4
嗯,大概就是这样。挺有趣的。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部