0

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

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

它应该为 chrome 和 safari 返回一个 true 值,而不是 Internet Explorer、Opera 或 Firefox 我不明白为什么它在 safari 而不是 chrome 上返回 true?有什么建议么?

即使我把它改了一点,它仍然会这样做

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

我是在做我的还是错的?

4

5 回答 5

3

Yes, you do. It should be

var webkit = (browsername == "Safari")||(browsername == "Chrome");
于 2013-03-26T07:37:46.500 回答
1

使用这种类型

if (browsername == ("Safari")||browsername == ("Chrome"))
    webkit = true;
于 2013-03-26T07:38:19.720 回答
0

是的,我认为您以错误的方式使用or==运算符。JavaScript 中的 == 一次只能将一个值与一个不同的值进行比较,因此其工作方式与在口语中的使用不同。尝试:

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

编辑:感谢 Alnitak 关于冗余三元运算符的提示:

var webkit = browsername == "Safari" || browsername == "Chrome";
于 2013-03-26T07:40:24.607 回答
0

你也可以在 jquery 中试试这个:

    $(document).ready(function () {
        var browser=$.browser.webkit;
    });

对于 chrome 和 safari,它将返回 true,对于其他浏览器将返回“undefined”

于 2013-03-26T07:42:05.383 回答
0

You can't use || that way, you should use:

var webkit = (browsername == "Safari" || browsername == "Chrome");

and

if (browsername == "Safari" || browsername == "Chrome") { ... }
于 2013-03-26T07:37:47.537 回答