2016-06-23 9 views
1

私はJavascriptを知らず、特定のWebサイトを訪問するときに自動的にリダイレクトするようにURLにいくつかのものを追加するGreasemonkeyスクリプトを作成しようとしています。問題のウェブサイトには人の動画や写真が含まれています。誰かをクリックすると、写真のみの検索を行うために必要なリンクが自動的に追加されます。私はコードの実際のウェブサイトをモックアップに置き換えました。これは、すべての年齢層に適していないからです。ここで私はこれまで持っているものである(コメントマークがそこことになっていることに注意してください、それはまだ読んでます):Javascriptでリダイレクトするために一度URLに追加する

だけ繰り返し最後に、「リンク/ index1のデフォルト-pics.shtml」を追加
// ==UserScript== 
// @name  CostlyTwos Pictures Only 
// @namespace costlytwospo 
// @description Automatically redirects to pictures-only when browsing CostlyTwos 
// @include  http://www.costlytwos.com/html/a_links/* 
// @include  www.costlytwos.com/html/a_links/* 
// @version  1.0 
// @run-at  document-start 
// ==/UserScript== 

window.location.href = window.location.href + "links/index1-default-pics.shtml"; 

URLの、無期限に。私はまた、 "default"という言葉がURLにあるかどうかをチェックするif文を追加しようとしました。(ウェブサイトのリンクは非常に一貫しているので、複雑なチェックは必要ありません。そのコードは次のようになっています:

ただし、スクリプトが存在しないかのようにはまったくありません。 Googleはこれまで私にこれを得ているが、Javascriptを知らないので、ここからどこに行くのか分からない。

www.costlytwos.com/html/a_links/NameHere/

NameHereため

Aの画像のみのリンクは次のようになります:

www.costlytwos選択し、誰かがどのように見えるこの場所のための典型的なURL .COM/HTML/a_links/NameHere /リンク/無期限だけを繰り返しURLの末尾に "リンク/ index1のデフォルト-pics.shtml" を追加index1のデフォルト-pics.shtml

答えて

0

これは、移動先の各ページにスクリプトが再ロードされるためです。ナビゲーションが完了すると、再度スクリプトが呼び出されます。

URLが正しい形式であるかどうかを確認するには、正しい本能があります。問題は、テストが間違っていることです。

window.location.search.indexOf("default") != -1

あなたはおそらく見てみたいことはhref財産であるときは、(URLの?var=123一部)accessing the search propertyだ:

window.location.href.indexOf("default") != -1 

でもこの修正で、 URLのどこにでもdefaultが表示された場合(他のユーザー名に「デフォルト」が含まれているような場合)、スクリプトはリダイレクトを行いません。スクリプトにバグがないことを確認するには、URLをより多くの部分に分解する必要があります(string.splitregular expressionなどを使用してください)。このルートを下る場合はwindow.location.hrefプロパティよりもwindow.location.pathnameを使用する方が良いでしょう。

+1

ありがとうございました!私は検索をhrefに変更し、何もしないことに戻りましたが、演算子を== -1に変更した後、突然完全に動作するようになりました。最終的なコードは次のようになります: 'if(window.location.href.indexOf(" default ")== -1){ window.location.href = window.location.href +" links/index1-default- pics.shtml "; } ' これは期待通りに機能します。これは私のためだけであり、私が問題のサイトを閲覧する方法に基づいて、うまくいくでしょう。私がそれをきれいにしたり、バグを潰す必要はありません。再度、感謝します! – starrky

関連する問題