安卓默认浏览器(也称为系统浏览器或WebView)在不同的安卓版本上的支持情况存在差异。在较新的安卓版本中,安卓默认浏览器通常会使用基于Chrome的WebView实现,因此支持Service Worker。
以下是一个使用Service Worker的示例代码:
// 注册Service Worker
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js')
.then(function(registration) {
console.log('Service Worker 注册成功!', registration);
})
.catch(function(error) {
console.log('Service Worker 注册失败:', error);
});
}
// 在Service Worker中处理fetch事件
self.addEventListener('fetch', function(event) {
console.log('Service Worker 拦截到了fetch请求:', event.request.url);
});
请注意,由于安卓默认浏览器的版本和设备可能存在差异,可以使用以下代码检查是否支持Service Worker:
if ('serviceWorker' in navigator) {
console.log('浏览器支持Service Worker');
} else {
console.log('浏览器不支持Service Worker');
}
在实际开发中,为了兼容多种浏览器,可以考虑使用第三方浏览器(如Chrome、Firefox等)或通过WebView组件内置的WebView实现来确保Service Worker的支持。