gpt4 book ai didi

javascript - 如何在 ServiceWorker 中获取自己的 URL 或主机名?

转载 作者:行者123 更新时间:2023-12-02 21:37:39 24 4
gpt4 key购买 nike

在ServiceWorker JavaScript代码本身(不是页面代码)中,我想知道我自己的URL。或者至少是自己的主机。

我需要这个,因为我希望对来 self 自己的服务器的资源和来自其他服务器的资源有不同的缓存行为。

换句话说:event.request.url 始终是带有主机和路径的 URL(例如 https://example.com/index.html)。我需要知道这个 URL 是否与 ServiceWorker 本身来自同一主机。

最佳答案

在服务工作线程执行上下文中,self 设置为 ServiceWorkerGlobalScope ,继承自 WorkerGlobalScope 。有一个location propertyWorkerGlobalScope 上,可以为您提供所需的信息。

您可以通过以下辅助方法将其付诸实践来解决您的问题:

function isSameOrigin(urlString) {
const urlOrigin = (new URL(urlString)).origin;
return urlOrigin === self.location.origin;
}

关于javascript - 如何在 ServiceWorker 中获取自己的 URL 或主机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60451302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com