设置字符串属性如何在浏览器中触发DOM上的操作,更改位置等?

时间:2015-07-13 15:22:39

标签: javascript dom

例如,如果您设置location.hrefiframe.src document.body.style.color" 等,则会发生某些事情。浏览器将这些属性的类型报告为字符串。我知道Javascript中有属性,但它的新功能和这种行为在很久以前就存在了。浏览器如何实现这一点,我们可以在不实现属性的情况下做同样的事情吗?

1 个答案:

答案 0 :(得分:0)

根据WHATWG HTML Living Standard,浏览上下文的会话历史记录中的每个Location对象都与Location对象的唯一实例相关联。 URLUtils接口支持href接口,这使得Document属性可用,设置location对象上的哪个等同于简单设置后者。

在内部,Document接口的assign(url)属性有location.href方法,当设置新位置时会调用该方法,该方法会解析URL,如果可能的话导航到它并且等等。

基本上即将发布,{{1}}公开浏览器的内部导航逻辑(与在地址栏中键入URL时使用的逻辑相同),以便您可以从脚本导航到给定的URL。当您设置它时,您不会与另一个脚本交互,而是使用内置于浏览器中的界面。

特定浏览器如何实现它完全取决于开发人员,许多大型浏览器(Chrome和Firefox)都是开源的,因此如果您感兴趣,可以检查他们的代码。