谷歌chrome - JavaScript不工作时,通过浏览器的url栏嵌入

google chrome - JavaScript not working when embedded via the url bar of browser

本文关键字:浏览器 url chrome JavaScript 工作 谷歌      更新时间:2023-09-26

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

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

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

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

为什么会这样?

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

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

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

我猜innerHTML只是为了在网页中显示它,而不是为了在标题中添加任何东西。

确切地说,你不能用它在section中做任何事情

您必须确保语句不返回任何东西—表达式中被认为可返回的任何东西都将被作为URL或页面内容来替换当前页面。表达式+=默认将。一个好的解决方案是在语句之前加上void,这样就不会返回任何内容。