状态栏中的document.write

时间:2010-01-18 01:30:20

标签: javascript bookmarklet

我正在尝试创建自己的书签,但并没有大量的指南可供使用。基本上,现在我正在试图找出为什么我不能只做javascript:document.write(“HAI,WORLD”),它具有替换窗口内容的意外效果。

我从其他地方的理解是,Javascript用方法的返回值替换窗口的全部内容,所以我也尝试了javascript:void(document.write(“wut”)),但整个窗口内容仍然被替换。

4 个答案:

答案 0 :(得分:6)

那是因为页面已经加载,并且不知道要写入的 where 。使用document.documentElement.appendChild(document.createTextNode("HAI, WORLD"))

答案 1 :(得分:0)

我试着理解你的“问题”,但我想你想在一个新窗口中打开它,对吗?

然后你需要使用:javascript:window.open("<url to website>", "some title");

答案 2 :(得分:0)

如果在页面加载完成后调用document.write(),则将覆盖页面的全部内容。这是该功能的预期效果。

如果您希望动态修改HTML代码,可以选择以下几种方法:

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

此外,你应该研究像jQuery这样的框架,它可以为你处理很多这样的事情:

  • $("#foobar").html("baz")

答案 3 :(得分:0)

是的,就像以利亚所说,或者如果你想改变浏览器的状态栏:

window.status = 'my new status'