为什么通过地址栏注入 JavaScript 代码时页面变成空白?
Why does the page go blank when injecting JavaScript code via the address bar?
因此,如果我想进行更改,例如在此页面 (whosebug.com) 中,请使用:
javascript:document.getElementById("hlogo").innerHTML = "10";
页面变为空白,只显示字符串“10”,尽管源代码仍然存在。
然而,如果我通过 JavaScript 控制台在内部 HTML 文档中执行此操作,它不会从视觉上删除其余内容。
追加 void(0)
或任何返回未定义值的表达式:
javascript:document.getElementById("hlogo").innerHTML = "10";void(0);
这个答案很好地解释了这种行为:
因此,如果我想进行更改,例如在此页面 (whosebug.com) 中,请使用:
javascript:document.getElementById("hlogo").innerHTML = "10";
页面变为空白,只显示字符串“10”,尽管源代码仍然存在。
然而,如果我通过 JavaScript 控制台在内部 HTML 文档中执行此操作,它不会从视觉上删除其余内容。
追加 void(0)
或任何返回未定义值的表达式:
javascript:document.getElementById("hlogo").innerHTML = "10";void(0);
这个答案很好地解释了这种行为: