Run Greasemonkey script on the same page, multiple times?

前端 未结 2 1687
一生所求
一生所求 2020-11-22 06:00

I\'m totally new to Greasemonkey, javascript, in fact all the UI stuff.

Requirement: Userscript is run by GS once after the page loads. However, I need the same scr

相关标签:
2条回答
  • 2020-11-22 06:30

    The simplest, most robust way is to use the waitForKeyElements() utility.

    Here is a complete script that uses jQuery and waitForKeyElements 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==
    /*- The @grant directive is needed to work around a design change
        introduced in GM 1.0.   It restores the sandbox.
    */
    
    function addCustomSearchResult (jNode) {
        //***** YOUR CODE HERE *****
        jNode.prepend (
            '<div id="result_000" class="fstRow">Buy my stuff, instead!</div>'
        );
    }
    
    waitForKeyElements ("#atfResults", addCustomSearchResult);
    
    0 讨论(0)
  • 2020-11-22 06:36

    You can use the DOMNodeInserted event to call your callback, e.g.:

    document.addEventListener('DOMNodeInserted', function() { alert('hi') }, false);
    

    Note that the event will be triggered by any change in the page structure, so you'll have to check that you're targeting the right change.

    0 讨论(0)
提交回复
热议问题