web-dev-qa-db-fra.com

Comment corriger 'Unchecked runtime.lastError: Impossible d'établir la connexion. La fin de réception n'existe pas.

J'ai récemment désinstallé et réinstallé Postgres10. Je suis ensuite allé exécuter une application Node/Express/React qui repose sur la connexion à une base de données Postgres (et la communication avec elle en utilisant Sequelize).

Initialement, il n'a pas pu se connecter à la base de données. J'ai réalisé que le processus de désinstallation a supprimé mes anciennes bases de données, alors je suis allé en recréer une nouvelle avec le nom auquel cette application se connecte. Ensuite, lorsque j'ai redémarré l'application (serveur et client), l'interaction frontale avec la base de données fonctionnait à nouveau comme d'habitude - écrivant de nouveaux utilisateurs et les lisant pour l'authentification, etc.

Cependant, j'ai maintenant l'erreur suivante dans la console Chrome Dev Tools sur chaque chargement de page de l'application:

Runtime.lastError non vérifié: impossible d'établir la connexion. La fin de réception n'existe pas

Cette erreur fait référence à localhost /: 1. Lorsque je passe la souris dessus, cela montre http: // localhost: 3000 / , l'adresse à laquelle je consulte l'application dans le navigateur.

Quelqu'un a une idée de ce qui se passe? La plupart des autres threads que j'ai trouvés qui évoquent cette erreur semblent être liés à quelqu'un qui essaie de développer une extension Chrome, et même alors, ils ont tendance à avoir très peu de réponses.

40
Emilio

J'obtenais exactement la même erreur (sauf que mon application n'a pas de back-end et React front-end), et j'ai découvert que cela ne venait pas de mon application, c'était en fait provenant de "Video Speed ​​Controller" Chrome. Si vous n'utilisez pas cette extension, essayez de désactiver toutes vos extensions, puis de les réactiver une par une?

29
frederj

L'erreur est souvent causée par une extension chrome. Essayez de désactiver toutes vos extensions, le problème devrait disparaître.

22
Germanium Corporation

Solution

Pour Chrome:

  1. Vous avez la fenêtre ouverte avec l'erreur de console, ouvrez une deuxième nouvelle fenêtre.

  2. Dans la deuxième fenêtre, accédez à: chrome: // extensions

  3. Désactivez chaque extension en basculant (le curseur bleu en bas à droite de chaque carte) et actualisez la fenêtre avec la console après avoir basculé chaque extension.

  4. Une fois que vous n'avez pas l'erreur, supprimez l'extension.

15
kai_onthereal

La suppression de 'Udacity Frontend Feedback' chrome a résolu le problème pour moi.

9
jeevan

Cela se passait en Chrome pour moi et j'ai découvert qu'il s'agissait de McAfee WebAdvisor. Une fois que je l'ai désactivé, le message est parti: enter image description here

4
haakon.io

Si vous êtes un développeur d'extensions, voyez ceci Message d'extension Chrome passant: exécution non vérifiée.lastError: impossible d'établir la connexion. La fin de réception n'existe pas

Le cœur du problème est que chrome changement de comportement de l'API et vous devez ajouter une solution de contournement pour cela.

4
David Dehghan

J'ai trouvé le même problème lors du développement des extensions Chrome. J'ai finalement trouvé le problème clé.

Runtime.lastError non vérifié: impossible d'établir la connexion. La fin de réception n'existe pas

Le problème clé est que lorsque background.js envoie un message à l'onglet actif via chrome.tabs.sendMessage, le content.js sur la page n'est pas prêt ou n'a pas été rechargé. Lors du débogage. Nous devons nous assurer que content.js est actif. Et ce ne peut pas être une page sans rafraîchissement, les anciennes pages ne vous mettent pas à jour js

Voici mon code:

//background.js
chrome.tabs.query({active: true, currentWindow: true},function(tabs) {
  chrome.tabs.sendMessage(tabs[0].id, {greeting: "hello"}, function(response) {
      console.log(response);
  });
}); 


//content.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
    console.log(request, sender, sendResponse);
    sendResponse('我收到你的消息了:'+JSON.stringify("request"));
});
1
GM GAMER

C'était l'onglet bnundler pour moi: https://chrome.google.com/webstore/detail/tab-bundler/ooajenhhhbdbcolenhmmkgmkcocfdahd

La désactivation de l'extension a résolu le problème.

1
micnguyen

Extension Cacher dans mon cas - mais oui, désactivez chacune, puis rechargez la page

0
konik

C'était quelques extensions pour moi. La désactivation puis la réactivation ont cependant résolu le problème. Grammaire en faisait partie. J'espère que les erreurs ne reviennent pas.

0
Eliezer Steinbock

Je testais mon extension sur Edge://extensions/ page/onglet. Le tester sur un autre onglet a résolu ce problème. Je pense que cela peut également se produire pour chrome://extensions/.

0
bantya

Je reçois le message uniquement sur la première Chrome page =
Lorsque Chrome n'est pas en cours d'exécution, et je l'ouvre - soit directement, soit en double-cliquant sur une page de mon bureau.
(Je ne sais pas si cela importe, mais j'ai "Continuer à exécuter des applications en arrière-plan lorsque Google Chrome est fermé" désactivé).)
Donc, je suppose que c'est la tentative d'espionnage/"amélioration de l'expérience utilisateur" de Chrome.
Je ne sais pas ce qu'il essaie d'envoyer, mais je suis content qu'il ne puisse pas! :)
Donc, le deuxième (ou n'importe quel mais premier onglet) n'a pas d'erreur.
== Pas besoin de désactiver quoi que ce soit (extensions, etc.).

0
iAmOren

Pour moi, l'erreur était due à l'extension onelogin chrome. La supprimer a résolu le problème.

0
Bitclaw

Curieusement, pour moi, j'ai simplement désactivé toutes mes extensions et l'erreur a disparu.

Cependant, après avoir réactivé tous ceux que j'ai désactivés, l'erreur était toujours disparue.

0
krchun

Cela est généralement dû à une extension.

Si vous ne souhaitez pas désactiver ou supprimer l'extension à l'origine de cette erreur, vous pouvez filtrer cette erreur spécifique en tapant -/^Unchecked\sruntime\.lastError\:\sCould\snot\sestablish\sconnection\.\sReceiving\send\sdoes\snot\sexist\.$/ dans la zone Filtre de la console:

Example

Example #2

Pour autant que je sache, ce filtre restera jusqu'à ce que vous le supprimiez manuellement, vous pouvez fermer et rouvrir la console, redémarrer Chrome, etc. autant que vous le souhaitez et le filtre ne sera jamais supprimé automatiquement.

0
Donald Duck