1

独自のブックマークレットを作成しようとしていますが、そのためのガイドはそれほど多くありません。基本的に、現在、ウィンドウの内容を置き換えるという意図しない効果がある javascript:document.write("HAI, WORLD") を実行できない理由を理解しようとしています。

Javascriptがウィンドウの内容全体をメソッドの戻り値に置き換えることは、他の場所からの私の理解であるため、javascript:void(document.write("wut")) も試しましたが、ウィンドウの内容全体がまだ置き換えられています.

4

4 に答える 4

6

これは、ページが既に読み込まれており、書き込み先がわからないためです。を使用しdocument.documentElement.appendChild(document.createTextNode("HAI, WORLD"))ます。

于 2010-01-18T01:33:01.457 に答える
0

私はあなたの「質問」を理解しようとしていますが、新しいウィンドウで開いてもらいたいと思いますよね?

次に、次を使用する必要があります。javascript:window.open("<url to website>", "some title");

于 2010-01-18T01:35:19.813 に答える
0

ページの読み込みが完了した後に が呼び出されるとdocument.write()、ページのコンテンツ全体が上書きされます。これは、関数の意図した効果です。

その場で HTML コードを変更したい場合は、いくつかのオプションがあります。

  • document.getElementById("foobar").innerHTML("baz")
  • document.getElementById("foobar").appendChild(document.createTextNode("baz"))

さらに、この多くを処理できる jQuery のようなフレームワークを検討する必要があります。

  • $("#foobar").html("baz")
于 2010-01-18T01:35:39.543 に答える
0

はい、エリヤが言ったように、またはブラウザのステータスバーを変更したい場合:

window.status = 'my new status'
于 2010-01-18T01:36:10.343 に答える