Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 快速、虚假、真实的检查方法?_Javascript_Cross Browser - Fatal编程技术网

Javascript 快速、虚假、真实的检查方法?

Javascript 快速、虚假、真实的检查方法?,javascript,cross-browser,Javascript,Cross Browser,我读过一篇文章,其中指出快速测试是: var isMSIE = /*@cc_on!@*/0; if (isMSIE) { // do IE-specific things } else { // do non IE-specific things } 但其中一种方法显示了另一种方式:(我不得不说,它是有效的) 所以我问: -[1,]有什么特别之处,IE无法识别,而其他人却能识别 p、 美国 又发现了一个骗人的诡计 IE='\v'=='v' [1,].toString()在IE最新版

我读过一篇文章,其中指出快速测试是:

var isMSIE = /*@cc_on!@*/0;

if (isMSIE) {
  // do IE-specific things
} else {
  // do non IE-specific things
}
但其中一种方法显示了另一种方式:(我不得不说,它是有效的)

所以我问:

-[1,]
有什么特别之处,IE无法识别,而其他人却能识别

p、 美国

又发现了一个骗人的诡计

IE='\v'=='v'
[1,].toString()
在IE最新版本之前是
1,
,当前缀为算术
-
时,将输出falsey
NaN
,而其他浏览器将返回
[1,].toString()==1
表示真实的
-1


这是一种可怕的嗅探技术,完全避免使用它,正如其他人评论的那样,检测对特定功能的支持。

您应该尽可能避免浏览器嗅探,而是强烈希望对您需要执行的操作进行功能检测。也许您应该将问题标题更多地集中在
-[1,]
部分,这似乎很有趣interesting@AndrewMarshall有一些场景,你必须处理特殊的黑客。例如:有一个标签上写着“uploadfile”,标签应该打开一个文件上传器(隐藏),就像你按下它一样。现在-具有FOr属性的Lbael将完成此任务。但它在chrome和Ie中的表现不同,因此,我需要检测。我知道还有其他选择,但我的问题仍然存在。
[1,].toString()
在最近版本之前的IE中是
“1,
,当前缀为算术
-
时,会输出错误的
NaN
,而其他浏览器会返回
[1,].toString()==1
表示真实的
-1
。这是一个可怕的嗅探技术,完全避免它。我没有看到它没有。。。虽然我仍然不完全相信(但会让它过去)。然而,我明白要想找到一个合适的头衔是多么困难。我当然没有任何建议
IE='\v'=='v'