在Android上安装的PWA应用不显示window.location.href的原因是PWA在安装为应用后,会在独立应用容器中运行,因此无法使用浏览器相关的API。解决方法是使用PWA提供的其他API来获取当前URL。
下面是一个示例代码,使用Service Worker的clients API来获取当前URL:
// 在Service Worker中
self.addEventListener('fetch', function(event) {
console.log('URL:', event.request.url);
});
上述代码在Service Worker中的fetch事件中获取当前请求的URL,并将其打印到控制台。
在应用的其他地方,你可以使用postMessage API将URL发送给应用的窗口:
// 在应用的其他地方
navigator.serviceWorker.controller.postMessage({ type: 'currentURL' });
// 在Service Worker中接收消息
self.addEventListener('message', function(event) {
if (event.data && event.data.type === 'currentURL') {
console.log('URL:', event.source.location.href);
}
});
上述代码在应用的其他地方使用postMessage API向Service Worker发送一个消息,请求当前URL。然后在Service Worker中监听message事件,并在接收到消息时,将当前URL打印到控制台。
通过以上方法,你可以获取到安装为应用后的PWA的当前URL。
上一篇:android安装debian
下一篇:Android安装pytorch