为什么地址栏,锚点和iframe.src解析javascript:
,是否有关于此的w3c规范?
答案 0 :(得分:2)
令人惊讶的是,W3C与JavaScript没有任何关系(正确称为ECMAScript)。 HTML规范是与脚本语言无关的,您实际上会看到它们在Tcl中提供示例。在IE的统治期间,遇到使用VBScript而不是JavaScript的页面并不罕见。
浏览器需要能够在URI变得流行之后评估URI中的脚本:
<a href="javascript: alert('foo');">click me</a>
...作为onclick
等DOM事件的替代品。我推测这个方法是在DOM事件标准化之前出现的,或者它可能是作为供应商扩展引入的,以便促进对特定浏览器的锁定( a la <marquee>
和<blink>
)。但这只是猜测。
无论如何,如果浏览器在处理href=""
属性时支持对脚本的评估,那么延伸支持到地址栏只需要很短的时间。我认为Bookmarklets的创作完全是偶然的,无意的,但仍然是积极的结果。
答案 1 :(得分:0)
它没有完全“解决”它,输入“javascript:alert('here');”您可以在某些浏览器中显示警告框。我没有注意到的规范,只是有些浏览器会在加载页面后在客户端运行javascript。
通常,如果您在冒号(:)的左侧键入内容,则它是一个协议,例如chrome://,http://,sftp://
此外,在chrome中你可以打开一个javascript控制台并直接在那里输入javascript而不是地址栏。