我正在尝试将此行添加到浏览器的网址栏(我的浏览器是Chrome)
javascript:document.getElementsByTagName("head")[0].innerHTML+="<link rel='stylesheet' type='text/css' href='st1.css'>";
当我按回车键时,整个页面都会消失。
当我检查源代码时,我可以看到JavaScript已被执行,但是,整个内容消失了,尽管正文的内容在源代码中保持不变!
为什么会这样?
答案 0 :(得分:1)
您编写的JavaScript返回document.getElementsByTagName("head")[0]
要确保没有返回值,请将代码更改为以下内容:
javascript:(function(){document.getElementsByTagName("head")[0].innerHTML+="<link rel='stylesheet' type='text/css' href='st1.css'>";}());
答案 1 :(得分:0)
我想innerHTML只是用于在网页中显示它而不是在标题中添加任何内容。
准确地说,您不能在该部分中使用它来做任何事情。
答案 2 :(得分:0)
您必须确保该语句不会返回任何内容 - 表达式中被视为可返回的任何内容都将被视为URL或页面内容以替换当前页面。默认情况下,表达式+=
将是。一个好的解决方案是在语句前加void
,这样就不会返回任何内容。