2011-06-24 6 views
2

私は最初のgreasemoneyスクリプトを実行しようとしています。私はかなりjqueryとjavascriptに新しいので、私に簡単にしてください。ヘルプ最初のGreasemoneyスクリプトのトラブルシューティング

これまで私がこれまで持っていたことは次のとおりです。

setTimeout(function(){ 
    $('a').each(function(i){ 
     if(this.href && this.innerHTML.indexOf('load more comments') > -1){ 
      toggle(this); 
     } 
    }); 
}, 4000); 

ここでの目標は、このようなサンプルのredditページの「負荷のコメント」ページのすべてをクリックすることであり、ループにそれを4秒ごとにやって。今

http://www.reddit.com/r/AskReddit/comments/i7hb5/why_assign_gender_to_public_bathrooms_if_there_is/

、何もまったく起こりません。トラブルシューティングの方法がわかりません。スクリプトはまったく起動されていませんか? indexOfはリンクをクリックするための正しい構文ですか?

このような基本的なgreasemoney/jqueryスクリプトを作成しても私を歩くオンラインガイドはありますか?

大変助かりました。ありがとう!

編集:Tomalakの応答に基づいて

、それはあなたが思うよりもはるかに簡単だ

// ==UserScript== 
// @name   load all page comments 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js 
// @namespace  none 
// @include  http://www.reddit.com/* 
// ==/UserScript== 

setInterval(function() { 
    $('a:contains(load more comments)').click(); 
}, 4000); 

答えて

2

:私はsetInterval代わりのsetTimeout使用

setInterval(function() { 
    $('a:contains(load more comments)').click(); 
}, 4000); 

注意を。

はjQueryのはclickはすなわち、このような状況でeach()のための必要はありません、上のすべてのマッチした要素と呼ばれているように動作します。 docs on the :contains selectorも参照してください。

+0

これはとてもクリーンです、ありがとう。そのため、リンクは配列にロードする必要はありませんか? – some1

+0

'$( 'a:contains(もっとコメントを読み込む)')' *は既に配列を返します。 – Tomalak

+0

元の投稿をgreasemonkeyヘッダーで更新しました。それらはあなたに見えますか?明らかに、それ以降のバージョンで問題があるので、jQuery 1.3.2にロードしています。スクリプトをトリガーするために必要なことはありますか?それとも自動的に実行されますか? – some1

関連する問題