首頁 >web前端 >js教程 >如何在同一頁上多次執行 Greasemonkey 腳本而不刷新?

如何在同一頁上多次執行 Greasemonkey 腳本而不刷新?

DDD
DDD原創
2024-11-15 03:20:02846瀏覽

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

在同一頁上多次注入Greasemonkey 腳本

對於Greasemonkey 和JavaScript 的新用戶來說,一個常見的要求是用戶腳本需要可以多次執行,無需刷新頁面。當使用 Ajax 發生請求(例如 Amazon 搜尋)而不觸發完整頁面重新載入時,這種情況就變得至關重要。

解決方案:利用waitForKeyElements() 實用程式

到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>

實作細節:

  • 「實用程式」 : 該實用程式檢查ID為“atfResults”的元素是否存在。找到後,它會執行 addCustomSearchResult() 函數。
  • addCustomSearchResult() 功能: 此函數透過注入您的自訂內容來修改亞馬遜搜尋結果。在此範例中,它添加了一個自訂 div,其中包含文字「改為購買我的東西!」到每個結果行的開頭。
使用此解決方案,您現在可以在同一頁上多次執行 Greasemonkey 腳本而無需刷新,從而為您提供更大的靈活性和對瀏覽器互動的控制。

以上是如何在同一頁上多次執行 Greasemonkey 腳本而不刷新?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn