ホームページ >ウェブフロントエンド >jsチュートリアル >Greasemonkey スクリプトを更新せずに同じページで複数回実行するにはどうすればよいですか?

Greasemonkey スクリプトを更新せずに同じページで複数回実行するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-16 11:12:021047ブラウズ

How Can I Execute a Greasemonkey Script Multiple Times on the Same Page Without Refreshing?

Greasemonkey スクリプトをページごとに複数回実行する

Greasemonkey と Web 開発の新規ユーザーとして、ユーザー スクリプトを複数回実行するという課題に遭遇します。ページを更新せずに同じページで何度もアクセスできます。これは、表示される検索結果にカスタム要素を挿入することを目的とした Ajax 主導の Amazon 検索のようなシナリオに必要です。

経験豊富なユーザーが推奨する効果的なソリューションは、waitForKeyElements()ユーティリティ。ページ上のターゲット要素を指定し、ターゲット要素が追加または変更されるたびに実行されるコールバック関数を登録できます。

その使用法を示すために、Amazon の検索結果を変更するための変更されたスクリプトを考えてみましょう。 :

// Greasemonkey script to alter Amazon search results
// ==UserScript==
// @name     _Amazon Search, alter results
// @include  http://www.amazon.com/s/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==

function addCustomSearchResult (jNode) {
    // Inject your custom element
    jNode.prepend (
        '<div>

仕組みは次のとおりです:

  • waitForKeyElements() 関数はターゲット要素 (この場合は #atfResults) を監視し、要素が追加または変更されるたびにコールバック関数 (addCustomSearchResult) を呼び出します。
  • コールバック関数では、次のことができます。カスタム コンテンツを検索結果 div に挿入します。
  • このプロセスはページを更新せずに実行されるため、カスタム要素は検索結果に次の間隔で表示されます。新しい Ajax リクエストが行われたとき。

以上がGreasemonkey スクリプトを更新せずに同じページで複数回実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。