Javascript 条件反射不能正常工作

Javascript 条件反射不能正常工作,javascript,coffeescript,browser-detection,Javascript,Coffeescript,Browser Detection,我正在设置一个简单的浏览器检查器,如果浏览器不“受支持”,它会在用户的浏览器上弹出一个警报 我使用名为detect.js的库在application.haml中设置了一个全局变量: :javascript var ua=detect.parse(navigator.userAgent) 我在控制台中吐出来,以确保它捕捉到正确的数据,它是: console.log(ua.browser.family) 在base.coffee中,我设置了条件: 如果ua.browser.family!='Chro

我正在设置一个简单的浏览器检查器,如果浏览器不“受支持”,它会在用户的浏览器上弹出一个警报

我使用名为
detect.js的库在
application.haml
中设置了一个全局变量:

:javascript
var ua=detect.parse(navigator.userAgent)
我在控制台中吐出来,以确保它捕捉到正确的数据,它是:

console.log(ua.browser.family)

base.coffee
中,我设置了条件:

如果ua.browser.family!='Chrome“| |”Safari“| | Firefox”| | Chrome Canary”
警报(“您的浏览器不受支持”)

现在,该警报将在任何浏览器上弹出,即使是Chrome、Safari、Firefox或Chrome Canary

寻找第二双眼睛。。。为了让它正常工作,我缺少了什么

 if ((ua.browser.family != 'Chrome') || (ua.browser.family !='Safari') 
 || (ua.browser.family !='Firefox') || (ua.browser.family !='Chrome Canary')) 
  alert('Your browser is not supported.')
试试这个


试试这个。

语句
'Chrome'| | | Safari'| | | Firefox'| | | | Chrome Canary'
将始终计算为“Chrome”,因此这不起作用。您需要测试每个字符串的完整条件:

if ua.browser.family != 'Chrome' || ua.browser.family != 'Safari' || ua.browser.family != 'Firefox' || ua.browser.family != 'Chrome Canary' 
Coffescript有一种更短的方法来测试数组是否包含元素,不过:

if ua.browser.family in ['Chrome', 'Safari', 'Firefox', 'Chrome Canary']

语句
'Chrome'| | | | | | | | | | | | | | | | | | | | | | | | | 124。您需要测试每个字符串的完整条件:

if ua.browser.family != 'Chrome' || ua.browser.family != 'Safari' || ua.browser.family != 'Firefox' || ua.browser.family != 'Chrome Canary' 
Coffescript有一种更短的方法来测试数组是否包含元素,不过:

if ua.browser.family in ['Chrome', 'Safari', 'Firefox', 'Chrome Canary']


如果ua.browser.family!='Chrome'&&ua.browser.family!='Safari'&&ua.browser.family!='Firefox'&&ua.browser.family!='Chrome Canary'
如果ua.browser.family!='Chrome'&&ua.browser.family!='Safari'&&ua.browser.family!='Firefox'&&ua.browser.family!='Chrome Canary’

没关系,只是注意到是咖啡脚本输入parens给了我一个错误。咖啡允许这种语法吗?如果ua.browser.family不是“Safari”或“Chrome”或“Firefox”
且不起作用,我已尝试发出“此浏览器不受支持”警报,但不允许使用parens if语句。我第一眼没看到咖啡标签。很抱歉。没关系,我刚注意到是咖啡脚本输入帕伦斯给了我一个错误。咖啡允许这种语法吗?如果ua.browser.family不是“Safari”或“Chrome”或“Firefox”
且不起作用,我已尝试发出“此浏览器不受支持”警报,但不允许使用parens if语句。我第一眼没看到咖啡标签。对不起,谢谢!好的,我明白了。出了什么问题。条件必须是&&而不是| |,才能正常工作,以及您所做的编辑(测试每个字符串的条件)。@Dear1ofGdBear您不能使用&&它将始终为false。。因为类型可能是them@DanyalSandeelo它似乎对我有用。我尝试了一些测试用例,这很好,但我确实明白你的逻辑。Interesting@Dear1ofGdBear是的,你是对的。你实际上是在检查否定。明白你的意思了。谢谢!好的,我明白了。出了什么问题。条件必须是&&而不是| |,才能正常工作,以及您所做的编辑(测试每个字符串的条件)。@Dear1ofGdBear您不能使用&&它将始终为false。。因为类型可能是them@DanyalSandeelo它似乎对我有用。我尝试了一些测试用例,这很好,但我确实明白你的逻辑。Interesting@Dear1ofGdBear是的,伙计,你是对的。你实际上是在检查否定。明白你的意思了(Y)你不能用-&它永远是假的。。因为类型可能是您不能使用的类型之一&&它将始终为false。。因为类型可能是