1

これはJavaScriptの質問です。このウェブサイトに言及しているという事実は無関係です。これはメタには属しません。


スクロールすると、ここ Stackoverflow の回答の最初のページに回答の追加ページを自動ロードする Greasemonkey スクリプトに取り組んでいます。これはうまく機能しています。ロードされたアイテムに賛成票/反対票を投じる機能を維持したいので、$.live() を使用していますが、これも正常に機能しています。

私の問題は、SO によって使用される投票オブジェクトが $.live() メソッドの範囲内で見つからないか、少なくともそれが問題だと思います。

$(".vote-up").live("click", function(D){
  vote.up($(D.target));
});

$.get("/questions/1151074", function(data){
  $("div.answer", data).insertAfter(".answer:last");
});

これは、firebug コンソールに貼り付けてテストできるサンプル コードです。.live() 呼び出しのコンテキストでは、投票にアクセスできないことがわかります。どうすればこれを修正できますか?

4

1 に答える 1

1

試してみてくださいunsafeWindow.vote.up()

ドキュメントを参照してください。これは一種のセキュリティ対策です。でも忘れると迷惑。

于 2009-07-23T18:11:41.747 に答える