URLs https://example.com/page.html?param=val在离线PWA中

问题描述 投票:1回答:1

我对脱机使用相当复杂的PWA并没有考虑太多。但是现在我想尝试一下。但是我使用这样的链接(可以说在PWA内部):

https://example.com/page.html?param=val

[当在PWA中单击类似脱机的链接时,出现“无法访问此站点”。但是此链接可以正常工作:

https://example.com/page.html

这些参数全部在Web浏览器中用JavaScript处理。我必须处理哪些选项?最好将它重写为#个链接吗?还是让我陷入其他麻烦?

https://example.com/page.html#param=val
url caching progressive-web-apps offlineapps
1个回答
0
投票

问题来自缓存。在sw.js中,提供要缓存的文件列表,但提供不带参数的文件名。在许多情况下,您不知道参数的完整值是合乎逻辑的。

因此,在您的情况下,您缓存了“ https://example.com/page.html”,但是当您调用“ https://example.com/page.html?param=val”时,比较失败并收到错误消息。

解决方法是告诉sw.js文件中的retreivng函数,忽略参数。而不是

    caches.match(event.request)

仅使用

    caches.match(event.request, {ignoreSearch: true})
© www.soinside.com 2019 - 2024. All rights reserved.