Roy*_*mir 7 javascript cross-browser
我在JavaScript中阅读了一篇关于Test for Internet Explorer的文章,其中指出快速测试是:
var isMSIE = /*@cc_on!@*/0;
if (isMSIE) {
// do IE-specific things
} else {
// do non IE-specific things
}
Run Code Online (Sandbox Code Playgroud)
但其中一条评论显示了另一种方式:(我必须说,它有效)
if (-[1,]) {
// do non IE-specific things
} else {
// do IE-specific things
}
Run Code Online (Sandbox Code Playgroud)
所以我问:
有什么特别之处-[1,],IE浏览器不识别它而其他人呢?
PS
发现了另一个快速的虚假伎俩
IE='\v'=='v'
Run Code Online (Sandbox Code Playgroud)
[1,].toString()在最新版本之前的IE浏览器中1,,当以算术为前缀时-会输出falsey NaN而其他浏览器会返回[1,].toString() === 1truthy -1.
它是一种可怕的嗅探技术,完全避免它,并且正如其他人评论的那样检测对特定功能的支持.
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |