我现在已经工作了一个多小时了,不知道它有什么问题...... 代码在下面
var webkit = (browsername == (("Safari")||("Chrome")))? true : false;
它应该返回chrome和safari的真实值,但不会返回Internet Explore,Opera或Firefox 我不明白为什么它会在safari中返回true而不是chrome?有什么建议吗?
即使我稍微更改它仍然会这样做
if (browsername == (("Safari")||("Chrome")))
webkit = true;
我的或错误了吗?
答案 0 :(得分:3)
是的,你这样做。它应该是
var webkit = (browsername == "Safari")||(browsername == "Chrome");
答案 1 :(得分:1)
使用此类型
if (browsername == ("Safari")||browsername == ("Chrome"))
webkit = true;
答案 2 :(得分:0)
您不能以这种方式使用||
,您应该使用:
var webkit = (browsername == "Safari" || browsername == "Chrome");
和
if (browsername == "Safari" || browsername == "Chrome") { ... }
答案 3 :(得分:0)
是的,我认为您使用的是或和 == 运算符。 JavaScript中的==只能同时将一个值与一个不同的值进行比较,因此与口语中的用法不同。尝试:
var webkit = (browsername == "Safari" || browsername == "Chrome") ? true : false;
编辑:感谢Alnitak关于冗余三元运算符的提示:
var webkit = browsername == "Safari" || browsername == "Chrome";
答案 4 :(得分:0)
你也可以在jquery中试试这个:
$(document).ready(function () {
var browser=$.browser.webkit;
});
对于chrome和safari,它将返回true,对于其他浏览器,它将返回“undefined”