gpt4 book ai didi

javascript - 澄清使用javascript检测ie

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:08:36 25 4
gpt4 key购买 nike

我正在寻找在 javascript 中检测 ie 浏览器的方法,这是我找到的解决方案之一:

if (-[1,]) {
//Not IE

} else {
//IE
}

这行得通,我可以很好地使用它来应用 CSS。我的问题是,这里的幕后发生了什么?我不明白这个条件并将它输入谷歌让我感兴趣,但不是相关的结果......

编辑

我的代码运行良好。我已经在所有浏览器和所有版本的 IE 中测试过它。在这一点上,这只是一种好奇,为什么它会起作用。看起来它与数组和负索引或类似的东西有关。这是我的问题,为什么,而不是我如何让它工作,因为它已经工作了。

最佳答案

IE 有一个 Javascript 解析问题:[1,] 被解析为 [1, undefined]
符合标准的浏览器忽略逗号并将其解析为 [1]

一元否定运算符,当应用于长度为 1 的数组时,将否定数组的单个元素。
因此,-[1]-1(为真)。
但是,-[1, anything](这是 IE 解析 [1,] 的方式)是 NaN,这是假的。

但是,您不应依赖此行为

相反,使用 Modernizr ,这将自动为每个功能添加类,无论浏览器如何。
如果你真的想专门区分 IE(这是个坏主意),请使用 conditional comments .

关于javascript - 澄清使用javascript检测ie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16697902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com