web-dev-qa-db-fra.com

Pourquoi vois-je "Erreur - Seules les origines sécurisées sont autorisées" pour mon technicien

Lorsque j'essaie d'ajouter un agent de service sur ma page d'applications Web progressive, pourquoi la console du navigateur affiche-t-elle l'erreur suivante?

ERROR "Uncaught (in promise) DOMException: Only secure origins are allowed

Code JS:

(function () {
    'use strict';

    // TODO add service worker code here
    if ('serviceWorker' in navigator) {
        navigator.serviceWorker
            .register('service-worker.js')
            .then(function () {
                console.log('Service Worker Registered');
            });
    }
})();
26
user7348450

Essayez d’utiliser http://127.0.0.1:8080 pour l’hébergement local Au lieu de http://192.168.29.53:8080

6
anoNewb

De Service Worker FAQ :

Q: Je reçois un message d'erreur à propos de "Seules les origines sécurisées sont autorisées". Pourquoi?

A: Les opérateurs de service ne sont disponibles que pour les "origines sécurisées" (sites HTTPS, en principe), conformément à une stratégie préférant les origines sécurisées pour de nouvelles fonctionnalités puissantes. Toutefois, http: // localhost est également considéré comme une origine sécurisée. Si vous le pouvez, le développement sur localhost est un moyen simple d'éviter cette erreur.

Vous pouvez également utiliser l'indicateur de ligne de commande --unsafely-treat-insecure-Origin-as-secure. Cet indicateur doit être associé à un indicateur --user-data-dir. Par exemple:

$ ./chrome --user-data-dir=/tmp/foo --unsafely-treat-insecure-Origin-as-secure=http://your.insecure.site

Si vous voulez tester sur https: // localhost avec un certificat auto-signé, faites:

$ ./chrome --allow-insecure-localhost https://localhost

Vous pouvez également trouver le drapeau --ignore-certificate-errors utile.

22
tony19

Vous pouvez vérifier le protocole avant d’enregistrer le technicien, comme ceci: location.protocol === 'https:' && serviceWorker.register('service-worker.js')

2
Rajesh Hegde

en chrome tapez chrome://flags

recherche "origine sécurisée"

 enter image description here

puis activez, relancez chrome.

0
CLIFFORD P Y