GreaseMonkeyで呼び出す前に、まずJavaScriptを読み込んで読み込む必要があります。 GreaseMonkeyは常に自分のコードをhtmlの頭に入れているようです。コードを本体に挿入するにはどうしたらいいですか?最後のほうが望ましいGreaseMonkeyのHeadではなく、Javascriptコードを本体に挿入するには
2
A
答えて
0
関数を定義して、本文の末尾のスクリプト要素に直接書き込むことができます。例:
function myFunc() {
// ...
}
document.body.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + myFunc.toString() + ")();";
document.body.appendChild(script);
}, false);
2
直接ここに答えるために:
var newElem = document.createElement('script'); //create a script tag
newElem.type = 'text/javascript'; // add type attribute
newElem.innerHTML = 'function myFunc() { alert("alerting"); } myFunc();'; // add content i.e. function definition and a call
document.body.appendChild(newElem); // Insert it as the last child of body
正式な方法ですが、最短で挿入したい
document.body.appendChild(document.createElement('script'));
document.body.lastChild.innerHTML = 'function myFunc() { alert("the alert"); } myFunc();'; // add content i.e. function definition and a make a call
しかし、あなたの質問の説明が混乱して、可能性があり関数をページに追加し、それをGMで呼び出しますか?なぜそれをページに挿入するのですか?上のコードでは、コールはGMではなくページスコープ内にあることに注意してください。この場合、GMから呼び出すことはできません。安全ではないが、通常は推奨されないように、コールする次のようなページにノードを挿入する必要があります:
someplace.innerHTML = '<a onclick=myFunc()>Execute myFunc</a>';
この機能を挿入するには、ページスコープにする必要がありますか?あなたは、GMスコープからそれを呼び出すことはできません。単にGMスコープにその機能を残しておかないと、それは挿入されません。
関連する問題
- 1. javascriptを挿入するFirefoxプラグインまたはgreasemonkeyスクリプト
- 2. テーブル本体にHTMLTableRowElementを挿入する方法は?
- 3. エリクサーメタプログラミング:関数本体のリストを関数本体に挿入する
- 4. テキストエリアでhtmlとjavascriptコードを挿入するには
- 5. JavaScriptでHTMLコードを挿入するには?
- 6. DNN間にあるすべてのページにJavaScriptコードを挿入する方法<head>タグ
- 7. sqlmapはsoap本体のパラメータ経由で挿入しますか?
- 8. PHP 'whileループ'をJavaScriptコードに挿入するには?
- 9. Jupyterにjavascriptコードを挿入するには
- 10. JavaScriptにPHPコードを挿入するには?
- 11. 角度/活字体は、基本クラスにサービスを注入ではなく、サブクラスで
- 12. ApplicationContext自体を挿入するには
- 13. <head>タグの間にjavascriptコードを入れてください
- 14. lxmlでJavaScriptを挿入するには?
- 15. php require_onceまたはHTMLのheadタグの中にインクルードするコードを頭の中に入れて本体に入れません
- 16. Retrofitのリクエスト本体にJSON配列を挿入する方法は?
- 17. PHPで電子メール本体に入力値を挿入する方法
- 18. SassにJavascriptを挿入するには?
- 19. JavaScriptコードを挿入する適切な方法は?
- 20. ASTRewriteを使用してコードスニペットを挿入する方法の本体を挿入する方法は?
- 21. iframe javascriptコードを親ウィンドウに挿入
- 22. HTMLコードを挿入するにはMediumEditor?
- 23. 空のベースメソッド本体を自動的に挿入
- 24. javascript x単語の後にjqueryでコードを挿入する
- 25. Mvcセクションがヘッドではなく本体に表示される
- 26. このリンクリストはコードを挿入し、他のコードは挿入しないのはなぜですか?
- 27. インラインJavaScriptコードを別のjavascript/jqueryコードに挿入することはできますか?
- 28. 挿入HTMLにはJavaScript
- 29. ASP.NETのmasterpages:aspx内のheadセクションにマークアップを挿入する方法は?
- 30. ウェブサイト上のフォームに特定のフィールドを入力する[Greasemonkey/Javascript]
こんにちは私はGreaseMonkeyでこのコードを試しました。警報は消えませんでした。 function myFunc(){ アラート( 'works'); } document.body.addEventListener( 'load'、function(){ var script = document.createElement( "script"); script.textContent = "(" + myFunc.toString()+ ")() ; "; document.body.appendChild(script); }、false); – sesquipedalians
正直なところ、私は今Firefoxをインストールしていない。私はちょうど私の古いスクリプトの一部をあなたの必要に合わせて作った。ここで働いていないものを理解しようとするだけです。それは近くになければならない。おそらく、それは正しく動作しない 'body.addEventListener'です。 –