有条件的不能正常工作
conditional not working properly
我正在设置一个简单的浏览器检查器,如果浏览器不是 "supported",它应该在用户的浏览器上弹出警告。
我使用名为 detect.js
:
的库在 application.haml
中设置了一个全局变量
:javascript
var ua = detect.parse(navigator.userAgent);
然后我在控制台中吐出它以确保它捕获了正确的数据并且它是:
console.log(ua.browser.family);
并且在 base.coffee
中我设置了条件:
if ua.browser.family != 'Chrome' || 'Safari' || 'Firefox' || 'Chrome Canary'
alert('Your browser is not supported.')
现在,警报会在任何浏览器上弹出,即使是 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']
它应该读作 if ua.browser.family != 'Chrome' && ua.browser.family != 'Safari' && ua.browser.family != 'Firefox' && ua.browser.family != 'Chrome Canary'
我正在设置一个简单的浏览器检查器,如果浏览器不是 "supported",它应该在用户的浏览器上弹出警告。
我使用名为 detect.js
:
application.haml
中设置了一个全局变量
:javascript
var ua = detect.parse(navigator.userAgent);
然后我在控制台中吐出它以确保它捕获了正确的数据并且它是:
console.log(ua.browser.family);
并且在 base.coffee
中我设置了条件:
if ua.browser.family != 'Chrome' || 'Safari' || 'Firefox' || 'Chrome Canary'
alert('Your browser is not supported.')
现在,警报会在任何浏览器上弹出,即使是 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']
它应该读作 if ua.browser.family != 'Chrome' && ua.browser.family != 'Safari' && ua.browser.family != 'Firefox' && ua.browser.family != 'Chrome Canary'