js是否工作

时间:2013-03-26 07:35:27

标签: javascript

我现在已经工作了一个多小时了,不知道它有什么问题...... 代码在下面

var webkit = (browsername == (("Safari")||("Chrome")))? true : false;

它应该返回chrome和safari的真实值,但不会返回Internet Explore,Opera或Firefox 我不明白为什么它会在safari中返回true而不是chrome?有什么建议吗?

即使我稍微更改它仍然会这样做

if (browsername == (("Safari")||("Chrome")))
        webkit = true;

我的错误了吗?

5 个答案:

答案 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”