如果我覆盖`window.URL`会发生什么

时间:2011-08-12 16:39:50

标签: javascript url

我在JavaScript中创建了一个自定义网址对象,发现Firefox已经有window.URL类型为MozURL的对象。我没有注意到任何其他浏览器设置window.URL,所以我想知道以下事项:

  • 使用我自己的对象覆盖window.URL是否会产生意外后果
  • Firefox中使用的window.URL是什么?
  • 是否其他其他浏览器也将window.URL设置为自己的对象 1

我的备份计划当然是使用命名空间对象,但我宁愿能够编写new URL()而不是new foo.URL()

[1]当然,这可能会随着浏览器的更高版本而变化,所以请记住注意任何答案的日期


编辑添加:

我只是考虑命名对象URI而不是URL,但即便如此,我可能会坚持使用命名空间以避免将来可能与URI发生冲突。

1 个答案:

答案 0 :(得分:2)

这是Firefox 4中的新功能,也是File API的W3C工作草案的一部分。

来自documentation

  

提供用于创建对象URL的方法。

你可以改变它;如果你想 - 但它可能会成为你以后想要使用的API。它可能会让其他开发人员感到惊讶,URL并不是他们所期望的那样。我建议使用名称空间解决方案。