为什么带有OR操作的If语句在JavaScript中不起作用?

时间:2015-05-21 13:53:45

标签: javascript

我有这个代码将用户重定向到移动UI。首先,它将检查它是否是移动秒,它将检查是否有cookie,第三是检查URL,如果NOT不包含这些词(" DispForm,NewForm,EditForm")。但就是没有

if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
        if (document.cookie.indexOf("DesktopView=") < 0) {
            if (document.location.href.indexOf('NewForm') === -1 || document.location.href.indexOf('DispForm') === -1 || document.location.href.indexOf('EditForm') === -1) {
                document.location = "/_layouts/Mobile/index.aspx";
            }                                
        }
    }

有人可以告诉我为什么好吗?

2 个答案:

答案 0 :(得分:1)

它正在检查是否一个cookie:

if (document.cookie.indexOf("DesktopView=") < 0) {...}

如果你想检查是否有cookie,应该是:

if (document.cookie.indexOf("DesktopView=") >= 0) {...}

答案 1 :(得分:1)

您正在检查网址“是否包含NewForm”或“不包含DispForm”等。

您可能意味着&&