在 javascript 中创建一个新的 Location 对象

新手上路,请多包涵

是否可以在 javascript 中创建一个新的 Location 对象?我有一个字符串形式的 url,我想利用 javascript 已经提供的内容来访问它的不同部分。

这是我正在谈论的示例(我知道这不起作用):

 var url = new window.location("http://www.example.com/some/path?name=value#anchor");
var protocol = url.protocol;
var hash = url.hash;
// etc etc

这样的事情是可能的还是我必须自己创建这个对象?

原文由 Josh Johnson 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 421
2 个回答

那么,您可以使用锚元素来提取 url 部分,例如:

 var url = document.createElement('a');
url.href = "http://www.example.com/some/path?name=value#anchor";
var protocol = url.protocol;
var hash = url.hash;

alert('protocol: ' + protocol);
alert('hash: ' + hash);
​

它适用于所有现代浏览器,甚至适用于 IE 5.5+。

在此处 查看示例。

原文由 Christian C. Salvadó 发布,翻译遵循 CC BY-SA 2.5 许可协议

使用标准 URL 对象 怎么样?

 const url = new URL("http://www.example.com/some/path?name=value#anchor");
const { hash } = url;

然后 console.log(hash) 将输出 #anchor

警告:这个接口有点新,所以,如果你没有使用 转译器,请检查 兼容性表 并在目标浏览器上进行测试。

原文由 Rael Gugelmin Cunha 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题