0

我正在尝试将此行添加到浏览器的 url 栏中(我的浏览器是 Chrome)

javascript:document.getElementsByTagName("head")[0].innerHTML+="<link rel='stylesheet' type='text/css' href='st1.css'>";

当我按下回车键时,整个页面消失。

当我检查源代码时,我可以看到 JavaScript 被执行了,但是,整个内容消失了,虽然 body 的内容在源代码中保持不变!

为什么会这样?

4

3 回答 3

1

您编写的 JavaScript 返回document.getElementsByTagName("head")[0]

为确保没有返回值,请将代码更改为以下内容:

javascript:(function(){document.getElementsByTagName("head")[0].innerHTML+="<link rel='stylesheet' type='text/css' href='st1.css'>";}());
于 2012-12-22T12:40:49.803 回答
0

您必须确保语句不返回任何内容 — 表达式中被视为可返回的任何内容都将被视为 URL 或页面内容以替换当前页面。Te 表达式+=将默认情况下。一个好的解决方案是在语句之​​前加上void不返回任何内容。

于 2012-12-22T12:29:39.000 回答
0

我猜 innerHTML 仅用于在网页中显示它,而不是用于在标题中添加任何内容。

确切地说,您不能使用它来执行该部分中的任何操作。

于 2012-12-22T12:24:24.267 回答