2016-09-23 52 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 */ 
} 
相關問題