从地址栏执行JavaScript会导致浏览器退出页面?

时间:2015-05-06 13:07:26

标签: javascript html

我正在测试一个网页,我想从地址栏执行一些JavaScript代码来更改一些内容(例如更改div的内容) 我加载了网页并输入以下地址栏:

javascript:document.getElementById("message").innerHTML="anotherthing"

并且,在执行上面的代码之后,浏览器会更改div的内容,但是它会立即退出页面。

我该如何避免这种行为?

谢谢。

4 个答案:

答案 0 :(得分:9)

还有一个解决方案:

javascript: (function(){ /* Your Javascript code goes here */ })();

答案 1 :(得分:5)

添加空格(0);到最后,它将解决它。

答案 2 :(得分:0)

javascript:标签复制并粘贴到某些浏览器网址栏后,它会自动将其删除。这是一种安全措施,是在过去发生的某些攻击之后,要求人们将攻击性JavaScript复制到其URL栏中,以便攻击者窃取数据。

如果你想执行这样的JavaScript,你可能会发现需要手动输入javascript:部分,否则你的浏览器会认为你想要搜索document.getElementById(...)... }。

实施例

将以下内容复制到地址栏中:

javascript:alert('hi');

对我而言,在Windows上的Chrome中,javascript:部分已被删除,而是假设我要搜索alert('hi')

Example

更好的解决方案

根据您尝试实现的目标,您可能最好通过浏览器的JavaScript控制台执行JavaScript。如果您不确定如何操作,请查看以下内容:How to open the JavaScript console in different browsers?

答案 3 :(得分:0)

替代解决方案:如果您不特别需要它来改变内容的JavaScript,如果您只需更改div的内容,那么您可以使用浏览器中的开发人员工具来执行此操作。

在Firefox中:开发人员工具>检查员>右键单击HTML并选择“编辑为HTML”。

在Chrome中:工具>更多工具>开发人员工具>元素>右键单击HTML并选择“编辑为HTML”。

在IE中:开发人员工具> HTML>编辑图标(看起来像一张纸,用铅笔)