通过浏览器的url栏嵌入时JavaScript不工作

通过浏览器的url栏嵌入时JavaScript不工作,javascript,google-chrome,Javascript,Google Chrome,我正在尝试将此行添加到浏览器的url栏(我的浏览器是Chrome) javascript:document.getElementsByTagName(“head”)[0].innerHTML+=“”; 当我按enter键时,整个页面消失 当我检查源代码时,我可以看到JavaScript被执行了,但是,整个内容消失了,尽管主体的内容在源代码中保持不变 为什么会发生这种情况?我想innerHTML只用于在网页中显示,而不用于在标题中添加任何内容 确切地说,您不能使用该语句在该部分中执行任何操作。您

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

javascript:document.getElementsByTagName(“head”)[0].innerHTML+=“”;
当我按enter键时,整个页面消失

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


为什么会发生这种情况?

我想innerHTML只用于在网页中显示,而不用于在标题中添加任何内容


确切地说,您不能使用该语句在该部分中执行任何操作。

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

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

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

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

也许您嵌入的样式表有一条隐藏主体的规则?使用devtools的DOM检查器,告诉我们您看到了什么。这对我来说很有用:
javascript:(function(){}(document.getElementsByTagName(“head”)[0]。innerHTML+=”)新的css文件只包含一个只更改背景样式的规则,没有修改主体的规则DOM inspector显示以下内容:=>添加到head部分,主体保持不变。。里面的每一样东西都是一样的,所有的内容。帕纳夫·卡普尔,你的答案真的很有效。。非常感谢。如果你把它放在一个单独的答案中。。我给你打分:)你是猜还是知道?innerHTML已经完成了任务。。并成功添加了css链接
javascript:(function(){document.getElementsByTagName("head")[0].innerHTML+="<link rel='stylesheet' type='text/css' href='st1.css'>";}());