-3

为什么地址栏、锚点和 iframe.src 可以解析javascript:,有没有关于这个的 w3c 规范?

4

2 回答 2

2

令人惊讶的是,W3C 与 JavaScript(正确称为 ECMAScript)没有任何关系。HTML 规范是脚本语言中立的,您实际上会看到它们在 Tcl 中给出示例。在 IE 的鼎盛时期,使用 VBScript 而不是 JavaScript 的页面并不少见。

在流行之后,浏览器需要能够评估 URI 中的脚本:

<a href="javascript: alert('foo');">click me</a>

...作为 DOM 事件的替代方案,例如onclick. 我推测这种方法是在 DOM 事件标准化之前出现的,或者它可能是作为供应商扩展引入的,以促进锁定到特定浏览器(a la <marquee> and <blink>)。但这只是猜测。

无论如何,如果浏览器在处理属性时支持对脚本的评估,href=""那么将支持扩展到地址栏是一个短暂的延伸。我认为,书签的创建完全是偶然和无意的,但仍然是一个积极的结果。

于 2013-01-30T03:30:06.950 回答
0

它不能完全“解决”它,输入“javascript:alert('here');” 您可以在某些浏览器中显示警告框。我不知道没有规范,只是某些浏览器会在加载页面后在客户端运行 javascript。

通常,如果您在冒号 (:) 左侧键入内容,则它是一种协议,例如 chrome://、http://、sftp://

此外,在 chrome 中,您可以打开一个 javascript 控制台并直接在其中输入 javascript 而不是地址栏。

于 2013-01-30T02:52:32.557 回答