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 回答