2016-09-23 59 views
-2

我想在URL不包含特定字符串的情况下运行脚本。这是我到目前为止:如果url不包含数组中的字符串,则执行函数

var ignorePages = ['page1','page2','page3']; 

if (window.location.href.indexOf($.inArray(ignorePages)) === -1) { 
    // do something 
} 

但这是行不通的。我想测试是否在数组中找到字符串,如果没有,执行。搜索了SO Q/A,但不能通过使用jQuery的inArray通过数组找到解决方案。

+0

你看过$ .inArray的文档吗? –

+2

这甚至不是远程如何inArray的作品。 – CBroe

+0

从阅读jQuery自己的文档开始:https://api.jquery.com/jQuery.inArray/ –

回答

1

感谢大家指点正确的方向。我用inArray的正确用法解决了它:

var ignorePages = ['/page1','/page2','/page3']; 
var currentUrl = window.location.pathname; 

if ($.inArray(currentUrl, ignorePages) === -1) { 
    // do something 
} 
1

您可以使用underscore轻松完成此操作。我也认为你可能想用location.pathname而不是location.href。无论如何,这是我如何做到这一点。

import { contains } from 'underscore'; 

let blacklist = ['/splash', '/login', '/feed' ]; 

if (! contains(blacklist, window.location.pathname) { 
    /* do stuff here */ 
} 
相关问题