javascript - 如何解析 Service Worker 中的 URL

标签 javascript service-worker

我正在尝试编写一个 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/

相关文章:

reactjs - React Service Worker 将文件添加到缓存

karma-runner - 在 Karma 测试中加载和使用 Service Worker

javascript - 在 Firebase 中,我收到未捕获的类型错误 : Cannot read property 'initializeApp' of undefined,,但不确定为什么未定义 'firebase'?

getElementsByClassName 的 JavaScript 'undefined' 错误

javascript 为 0011 返回 9

caching - 如何不缓存服务器工作客户端

javascript - AJAX 和 DJANGO 形式

Javascript 决策语句无法正常工作

ssl - 无法使用自签名证书和 Webpack 开发服务器设置 Service Worker

javascript - Service worker 'sync' 事件在 IOS 上不起作用,如何将离线数据存储到 indexedDB 中?