Tôi hiện đang làm việc cho nhân viên dịch vụ để xử lý thông báo đẩy trong trình duyệt. Hiện tại tôi đang gặp lỗi "đăng ký SW không thành công" này. Bất cứ ai có thể giúp đỡ với vấn đề này? Kiểm tra client1.html
và service-worker.js
tập tin dưới đây:Đăng ký nhân viên dịch vụ không thành công
LỖI:
SW registration failed with error SecurityError: Failed to register a ServiceWorker: The URL protocol of the current origin ('null') is not supported.
dịch vụ worker.js
console.log('Started', self);
self.addEventListener('install', function(event) {
self.skipWaiting();
console.log('Installed', event);
});
self.addEventListener('activate', function(event) {
console.log('Activated', event);
});
self.addEventListener('push', function(event) {
console.log('Push message received', event);
});
client1.html
<!doctype html>
<html>
<head>
<title>Client 1</title>
</head>
<body>
<script>
if('serviceWorker' in navigator){
// Register service worker
navigator.serviceWorker.register('service-worker.js').then(function(reg){
console.log("SW registration succeeded. Scope is "+reg.scope);
}).catch(function(err){
console.error("SW registration failed with error "+err);
});
}
</script>
</body>
</html>
Đối số thứ nhất cho 'ServiceWorkerContainer.register' là một URL. Thông báo lỗi cho biết trình duyệt của bạn từ chối sử dụng tài nguyên vì nguồn gốc là rỗng - điều này thường xảy ra đối với tài nguyên cục bộ (file: //). 'service-worker.js' là local - Tôi sẽ đặt cược đây là lý do tại sao bạn gặp vấn đề về nguồn gốc chéo – Tibrogargan
Cảm ơn bạn đã giải quyết vấn đề bằng cách đặt thư mục của tôi vào localhost –
Tôi không thấy bất kỳ tham chiếu nào đến Pusher trong mã. Tại sao câu hỏi này lại có thẻ ['pusher'] (http://stackoverflow.com/questions/tagged/pusher)? –