2016-12-31 5 views
1

コードを特定のURLでのみ実行しようとしています。私の人生のために、なぜ私がクリックするすべてのウェブサイト、それがコードを実行するのか、それを制限するサイトに限定されない理由を理解できません。jQuery + Greasemonkey:影響を受けるすべてのサイト、「window.location.href.indexOf」に限定されていません。

// ==UserScript== 
// @name  test 
// @namespace test1 
// @description test2 
// @include  https://* 
// @version  1 
// @grant  none 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js 
// ==/UserScript== 


$(document).ready(function() 
{ if( (!window.location.href.indexOf("https://www.youtube.com") > -1) 
     && (!window.location.href.indexOf("https://www.google.com") > -1)  
    ) 
    { 
    alert("test"); 
    } 
}); 
+0

window.location.href.indexOf( "https://でwww.youtube.com ")は常にtrueです。一致する場合はfalseです。真と偽は常に> -1 – Shanimal

答えて

0

あなたは近くでした。

はJavaScript:

var urls = [ 
    "https://www.youtube.com", 
    "https://www.google.com", 
    "https://fiddle.jshell.net", 
    ]; 

    urls.forEach(function(v) { 
    if (window.location.href.indexOf(v) >= 0) { 
     alert("test"); 
    } 
    }); 

JSFiddle:ただ、アレイ内のすべての意図したURLを宣言してみてください!

https://jsfiddle.net/nikdtu/hyj6gmgu/

+0

@computerguy:あなたの歓迎! :) –

0

var domains = [ 
 
    'http://stacksnippets.net', // *** 
 
    'http://stackoverflow.com', 
 
    'http://google.com', 
 
    'http://youtube.com' 
 
]; 
 
var href = window.location.href; 
 
var isListed = domains.some(function(v){ 
 
    // expecting href.indexOf(v) to return 0 on success 
 
    return !href.indexOf(v); 
 
}); 
 

 
console.log(window.location.href, isListed)

window.location.href.indexOf("https://www.youtube.com") // is 0 OR -1 

よう

!window.location.href.indexOf("https://www.youtube.com") // is true OR false 

true > -1 // is always true 
false > -1 // is always true 

このようなものがあなたをそこに連れていくはずです。

var domains = [ 
    'http://stackoverflow.com', 
    'http://google.com', 
    'http://youtube.com' 
]; 
var href = window.location.href; 
var isListed = domains.some(function(v){ 
    return !href.indexOf(v); 
}); 

isListed // true 
+0

残念ですが、これは私を近づけません。 – computerguy

+0

私も "!= -1"を試しました – computerguy

+0

あなたの最後の編集をどのようにして行うのですか? $( ".target").hide(); – computerguy

関連する問題