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

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

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

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

Injecting Greasemonkey Script Multiple Times on the Same Page

For users new to Greasemonkey and JavaScript, a common requirement arises where a userscript needs to be executed multiple times without a page refresh. This scenario becomes essential when a request, such as an Amazon search, occurs using Ajax without triggering a complete page reload.

Solution: Utilizing waitForKeyElements() Utility

To address this need effectively, the waitForKeyElements() utility offers a robust and simple solution. This utility monitors a specified element and executes a callback function whenever the element's content changes. Below is a complete script that leverages jQuery and waitForKeyElements to modify Amazon search results:

// @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>

Implementation Details:

  • waitForKeyElements() Utility: This utility checks for the presence of an element with the ID "atfResults." When found, it executes the addCustomSearchResult() function.
  • addCustomSearchResult() Function: This function modifies the Amazon search results by injecting your custom content. In this example, it adds a custom div with the text "Buy my stuff, instead!" to the beginning of each result row.

Using this solution, you can now execute your Greasemonkey script multiple times on the same page without a refresh, providing you with greater flexibility and control over your browser interactions.

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

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