2017-10-09 39 views
1

ブックマークレットを作ろうとしています。 URLに特定の単語が含まれているかどうかをテストし、そうでない場合は、URLをエンコードしてURLの先頭にテキストを追加します。これまでのところ、私は単語のテスト方法を考え出しました。私はそのために使用していたコードは次のとおりです。私はこのようなURLをエンコードしたいJavaScriptでURLの先頭にテキストを追加する

if (document.location.href.indexOf('math') === -1){ 
    alert("Math detected"); 
} 

:それは検出したURLは、この場合には、http://www.coolmath-games.com/それはtunneler.pw/index.php?q=http%3A%2F%2Fwww.coolmath-games.com%2Fにリダイレクトする必要があります。理想的には、正規表現は使用しませんが、正規表現を使用すると大したことではありません。

単語が検出されない場合は、何もしないでください。


EDIT:誰かが好奇心を持っていた場合は、ブックマークレットフォームに変換されたコードがあります。

javascript:void%20function(){-1===document.location.href.indexOf(%22math%22)%26%26alert(%22Math%20detected%22)}(); 
+0

encodeURIComponent thisを使用することができます –

+0

ええ、私はそれを試して、私はそれが働くと思うが、私が本当に問題を抱えていた部分は、変換されたURLの先頭にテキストを追加していた。 –

+0

実際に私はunserstandをしていないURLをエンコードし、クエリ文字列のオララマとのredictをしたいですか? –

答えて

1

これを試してください:あなたは別のURLのクエリ文字列でそれを使用することができるようになりますので

if (document.location.href.indexOf('blocked') === -1){ 
    document.location.href = "http://tunneler.pw/index.php?q=" + encodeURIComponent(document.location.href); 
} 

encodeUriComponentは、URLをエスケープします。

+0

あなたは明確にできますか?私がしたいことは、URLに「ブロックされた」という単語が含まれていない場合は、URLをエンコードし、URLの先頭に「http://tunneler.pw/index.php?q=」を追加する必要があります。ありがとう。 –

+0

これを反映するために私の答えを更新します。問題ではっきりしていなかった。 – ncardeli

+0

また、これは単に "coolmathgames"ウェブサイトのためだけではありません。私は本当にあなたの助けに感謝します! –