为啥通过地址栏注入 JavaScript 代码时页面会变为空白?

Posted

技术标签:

【中文标题】为啥通过地址栏注入 JavaScript 代码时页面会变为空白?【英文标题】:Why does the page go blank when injecting JavaScript code via the address bar?为什么通过地址栏注入 JavaScript 代码时页面会变为空白? 【发布时间】:2015-09-08 08:50:29 【问题描述】:

因此,如果我想进行更改,例如在此页面 (***.com) 中,请使用:

javascript:document.getElementById("hlogo").innerhtml = "10";

页面变为空白,只显示字符串“10”,即使源代码仍然存在。

但是,如果我通过 JavaScript 控制台在内部的 HTML 文档中执行此操作,它不会在视觉上删除其余内容。

【问题讨论】:

我没有回答问题? 那么有什么问题吗?你在哪里做这个 javascript 标注?? 【参考方案1】:

附加 void(0) 或任何返回未定义值的表达式:

javascript:document.getElementById("hlogo").innerHTML = "10";void(0);

这个答案很好地解释了这种行为:https://***.com/a/1291950/689788

【讨论】:

以上是关于为啥通过地址栏注入 JavaScript 代码时页面会变为空白?的主要内容,如果未能解决你的问题,请参考以下文章

为啥这种 javascript 注入攻击不起作用? [复制]

如何在 Swift 3 的 WKWebView 中注入 javascript

通过浏览器学习前端的小技巧

React 路由器在 url 地址栏重新加载时提供 javascript 对象而不是原始类型

为啥我的网站在移动 Safari 中的地址栏后面开始?

浏览器怎么执行js的