「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Greasemonkey スクリプトを更新せずに同じページで複数回実行するにはどうすればよいですか?

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

2024 年 11 月 21 日に公開
ブラウズ:496

How can I execute a Greasemonkey script multiple times on the same page without a refresh?

Greasemonkey スクリプトを同じページに複数回挿入する

Greasemonkey と JavaScript を初めて使用するユーザーの場合、ユーザー スクリプトで次のことを行う必要があるという共通の要件が発生します。ページを更新せずに複数回実行される場合があります。このシナリオは、Amazon 検索などのリクエストが、ページ全体のリロードをトリガーせずに Ajax を使用して発生する場合に不可欠になります。

解決策: waitForKeyElements() ユーティリティを使用する

Toこのニーズに効果的に対処するには、waitForKeyElements() ユーティリティが堅牢でシンプルなソリューションを提供します。このユーティリティは、指定された要素を監視し、要素の内容が変更されるたびにコールバック関数を実行します。以下は、jQuery と waitForKeyElements を利用して Amazon の検索結果を変更する完全なスクリプトです:

// @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) {
    jNode.prepend (
        '<div>

実装の詳細:

  • waitForKeyElements() ユーティリティ: このユーティリティは、要素の存在をチェックします。 ID「atfResults」。見つかった場合、addCustomSearchResult() 関数が実行されます。
  • addCustomSearchResult() 関数: この関数は、カスタム コンテンツを挿入することで Amazon の検索結果を変更します。この例では、「代わりに私のものを買ってください!」というテキストを含むカスタム div を追加します。

このソリューションを使用すると、Greasemonkey スクリプトを更新せずに同じページで複数回実行できるようになり、ブラウザの操作をより柔軟に制御できるようになります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3