我正在尝试编写一个 Service Worker 来缓存我的网页的一部分,但我需要每个请求的来源和路径,以便决定如何处理它。不幸的是,Request 对象只有完整的 URL 作为字符串,我找不到任何方法来解析它。
URL 解析是一个复杂且容易出错的过程,因此如果可能的话,我更愿意使用 native 功能,但我能找到的在 Javascript 中解析 URL 的唯一方法涉及滥用 DOM <a>
元素,这显然不是服务 worker 上下文中的一个选项。我该怎么办?
最佳答案
您可以使用URL
API为此。
它使您能够从字符串创建新的 URL 对象并使用组件:
var a = new URL('http://www.domain.com/asdf/?a=b#123');
console.log(a)
a.searchParams.forEach(function(val, key){
console.log(key + ' ' + val);
});
这是一个实验性 API,但它可以在 Web Workers 中使用,所以它应该很好。
关于javascript - 如何解析 Service Worker 中的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40414156/