例如,如果您设置location.href
或iframe.src
或 document.body.style.color"
等,则会发生某些事情。浏览器将这些属性的类型报告为字符串。我知道Javascript中有属性,但它的新功能和这种行为在很久以前就存在了。浏览器如何实现这一点,我们可以在不实现属性的情况下做同样的事情吗?
答案 0 :(得分:0)
根据WHATWG HTML Living Standard,浏览上下文的会话历史记录中的每个Location
对象都与Location
对象的唯一实例相关联。 URLUtils
接口支持href
接口,这使得Document
属性可用,设置location
对象上的哪个等同于简单设置后者。
在内部,Document
接口的assign(url)
属性有location.href
方法,当设置新位置时会调用该方法,该方法会解析URL,如果可能的话导航到它并且等等。
基本上即将发布,{{1}}公开浏览器的内部导航逻辑(与在地址栏中键入URL时使用的逻辑相同),以便您可以从脚本导航到给定的URL。当您设置它时,您不会与另一个脚本交互,而是使用内置于浏览器中的界面。
特定浏览器如何实现它完全取决于开发人员,许多大型浏览器(Chrome和Firefox)都是开源的,因此如果您感兴趣,可以检查他们的代码。