"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > How can I execute a Greasemonkey script multiple times on the same page without a refresh?

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

Published on 2024-11-21
Browse:697

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.

Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3