为什么'javascript:..'代码段无法在Firefox的地址栏中使用?

时间:2015-03-05 10:20:33

标签: javascript

以下内容适用于Chrome,但在输入(未粘贴)到网址栏时不适用于Firefox(27):

javascript:alert('hi')

为什么?

2 个答案:

答案 0 :(得分:5)

直接输入地址栏的JavaScript URI在许多浏览器中都被禁止,以防止基于社交工程的书签粘贴攻击。

这种攻击的一个例子是"转到Facebook并将其粘贴到您的地址栏中,以便查看谁查看了您的网页"代码实际上授予攻击者完全访问您的个人资料的权限。

某些浏览器可能会区分粘贴和键入的脚本(因为键入的脚本不太可能是攻击)。

答案 1 :(得分:0)

这与Javascript无关。这只是一个浏览器在导航(url)栏中输入时如何解释文本的问题。例如,在Opera中,如果您输入hello world,它将转到您的默认搜索引擎并搜索hello world,而g hello world将强制它转到Google进行搜索。

与Javascript类似,如果浏览器想要执行它,它会。但如果没有,它根本就不会发生。