19

<body>基本的な HTML コンテンツをページの最後にタグの直後または終了直前に追加する Greasemonkey メソッドはありますか?

前/後のメソッドを見つけましたが、ページごとに変更される可能性のある要素の名前を知る必要があります..

4

2 に答える 2

29

手っ取り早い方法: 真新しいコンテンツにのみ使用innerHTMLしてください

var newHTML         = document.createElement ('div');
newHTML.innerHTML   = '             \
    <div id="gmSomeID">             \
        <p>Some paragraph</p>       \
        etc.                        \
    </div>                          \
';

document.body.appendChild (newHTML);


やや優れた jQuery の方法を示す完全なスクリプト(および新しい ECMAScript 6 の複数行文字列を使用):

// ==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 ( `
    <div id="gmSomeID">
        <p>Some paragraph</p>
        etc.
    </div>
` );


どちらの方法でも、新しいコンテンツは次のように配置されます。

<!-- NEW STUFF INSERTED HERE -->
</body>

それはそれにとって良い場所です。

HTML はページの最後にありますが、次のように CSS を使用して任意の場所に表示できます。

GM_addStyle ( "                         \
    #gmSomeID {                         \
        position:       fixed;          \
        top:            0px;            \
        left:           0px;            \
    }                                   \
" );
于 2013-01-10T02:09:39.053 に答える