Basic method to Add html content to the page with Greasemonkey?

前端 未结 2 1663
太阳男子
太阳男子 2020-12-13 10:20

Is there a Greasemonkey method to append basic HTML content to the end of a page right after the tag, or right before it ends?

I found befo

2条回答
  •  一向
    一向 (楼主)
    2020-12-13 11:06

    The quick and dirty way: Please only use innerHTML for brand-new content.

    var newHTML         = document.createElement ('div');
    newHTML.innerHTML   = '             \
        
    \

    Some paragraph

    \ etc. \
    \ '; document.body.appendChild (newHTML);


    A complete script showing the somewhat better jQuery way (and with new, ECMAScript 6, multiline string):

    // ==UserScript==
    // @name     YOUR_SCRIPT_NAME
    // @include  http://YOUR_SERVER.COM/YOUR_PATH/*
    // @require  http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
    // @grant    GM_addStyle
    // ==/UserScript==
    //--- The @grant directive is used to restore the proper sandbox.
    
    $("body").append ( `
        

    Some paragraph

    etc.
    ` );


    Both methods will place the new content like this:

    
    
    

    Which is a good place for it.

    Even though the HTML is at the end of the page, you can use CSS to display it anywhere with something like:

    GM_addStyle ( "                         \
        #gmSomeID {                         \
            position:       fixed;          \
            top:            0px;            \
            left:           0px;            \
        }                                   \
    " );
    

提交回复
热议问题