Hoe te fixeren ‘Ongekreefde runtime.lasterror: de berichtpoort gesloten voordat een reactie is ontvangen’ Chrome-probleem?

Ik gebruik Vuejs en Laravel voor mijn project. Dit probleem begon de laatste tijd te tonen en het laat zelfs in de oude git-filialen zien.

Deze fout wordt alleen weergegeven in Chrome-browser.


Antwoord 1, Autoriteit 100%

Ik heb alle geïnstalleerde extensies in Chrome uitgeschakeld – werkt voor mij.
Ik heb nu geen console zonder fouten.


Antwoord 2, Autoriteit 49%

Als u een extensieontwikkelaar bent die uw weg hier probeert te stoppen met het veroorzaken van deze fout:

Het probleem is niet CORB (als een ander antwoord hier stelt) als geblokkeerde CORS Manifesteren als waarschuwingen like –

Cross-Origin lezen Blokkering (CORB) Geblokkeerde reactie van de cross-origin
https://www.example.com/example.html met MIME TYPE Tekst / HTML. Zien
https://www.chromestatus.com/feature/5629709824032768 voor meer
Details.

Het probleem is hoogstwaarschijnlijk een mislukking van Async op runtime.sendMessage. Zoals MDN zegt :

Om een ​​asynchrone reactie te verzenden, zijn er twee opties:

  • Terugkeer van de gebeurtenisluisteraar. Dit houdt de SendResponse
    Functie geldig nadat de luisteraar terugkeert, zodat u het later kunt noemen.
  • Breng een belofte terug van de gebeurtenisluisteraar en besluit
    wanneer u het antwoord hebt (of verwerp het in het geval van een fout).

Wanneer u een async-reactie verzendt, maar niet in staat is om een ​​van deze mechanismen te gebruiken, wordt de meegeleverde sendResponseArgument voor sendMessageuit de ruimte en het resultaat precies als de fout opgetreden Bericht zegt: uw berichtpoort (het bericht-passerende apparaten) is gesloten voordat het antwoord is ontvangen.

Webtension-Polyfill-auteurs hebben reeds geschreven in juni 2018 .

Dus de bottom line, als u uw extensie ziet die deze fouten veroorzaken – inspecteer nauw al uw onmessage-luisteraars. Sommigen van hen moeten waarschijnlijk beginnen met terugkerende beloften (markering als async moet voldoende zijn). [Bedankt @vdegenne]


Antwoord 3, Autoriteit 18%

Als u naar Chrome: // extensions / , kunt u gewoon elke extensie één voor één schakelen en zie welke het probleem daadwerkelijk heeft.

Nadat u de extensie uitschakelt, vernieuw dan de pagina waar u de fout ziet en de muis in de buurt wilt, of klik. Muisacties zijn de dingen die fouten gooien.

Dus ik was in staat om vast te stellen welke extensie daadwerkelijk het probleem veroorzaakte en het uitschakelt.


Antwoord 4, Autoriteit 13%

Post is vrij oud en niet nauw verwant aan de ontwikkeling van chromen extensies, maar laat het hier zijn.

Ik had hetzelfde probleem bij het reageren op een bericht in callback. De oplossing is om True in achtergrond Message Listener terug te keren.

Hier is eenvoudig voorbeeld van background.js . IT-reacties op elk bericht van popup.js.

chrome.runtime.onMessage.addListener(function(rq, sender, sendResponse) {
    // setTimeout to simulate any callback (even from storage.sync)
    setTimeout(function() {
        sendResponse({status: true});
    }, 1);
    // return true;  // uncomment this line to fix error
});

Hier is popup.js, die een bericht verzendt in een pop-up. U krijgt uitzonderingen totdat u de regel “return true” in het bestand background.jsverwijdert uit het commentaar.

document.addEventListener("DOMContentLoaded", () => {
    chrome.extension.sendMessage({action: "ping"}, function(resp) {
        console.log(JSON.stringify(resp));
    });
});

manifest.json, voor het geval dat 🙂 Let op de sectie alarmrechten!

{
  "name": "TestMessages",
  "version": "0.1.0",
  "manifest_version": 2,
  "browser_action": {
    "default_popup": "src/popup.html"
  },
  "background": {
    "scripts": ["src/background.js"],
    "persistent": false
  },
  "permissions": [
    "alarms"
  ]
}

Antwoord 5, autoriteit 5%

Ik heb gereageerd op dit.

In mijn geval was het probleem te wijten aan Video Downloader professionalen AdBlock

Kortom, dit probleem treedt op vanwege enkele Google Chrome-plug-ins


Antwoord 6, autoriteit 3%

Als de fout de extensie is, gebruik dan incognito Ctrl+Shift+N. In de incognitomodus heeft Chrome geen extensies.

UPD.Als je een extensie nodig hebt in de incognitomodus, b.v. ReduxDevTools of andere, schakel in de extensie-instellingen “Toestaan in incognito” in


Antwoord 7, autoriteit 2%

Deze fout wordt meestal veroorzaakt door een van uw Chrome-extensies.

Ik raad aan deze One-Click Extension Disablerte installeren, Ik gebruik het met de sneltoets COMMAND (⌘)+ SHIFT (⇧)+ D— om snel al mijn extensies in/uit te schakelen.

Zodra de extensies zijn uitgeschakeld, zou deze foutmelding moeten verdwijnen.

Vrede! ✌️


Antwoord 8

Voor degenen die hier komen om deze fout in Chrome 73 op te lossen, is een mogelijkheid dat Chrome 73 en later cross-origin-verzoeken in inhoudsscripts niet toestaat.

Meer lezen:

  1. https://www.chromestatus.com/feature/5629709824032768
  2. https://www.chromium.org/Home /chromium-security/extension-content-script-fetches

Dit treft veel auteurs van Chrome-extensies, die nu moeten worstelen om de extensies te repareren omdat Chrome denkt: “Uit onze gegevens blijkt dat de meeste extensies niet worden beïnvloed door deze wijziging.”

(het heeft niets te maken met je app-code)

UPDATE: ik heb het probleem met de COR opgelost, maar ik zie nog steeds deze fout. Ik vermoed dat het hier de schuld van Chrome is.


Antwoord 9

In mijn geval was het de Chrome-extensie OneTab.


Antwoord 10

Zorg ervoor dat u de juiste syntaxis gebruikt.

We moeten de methode sendMessage()gebruiken nadat we ernaar hebben geluisterd.

Hier is een eenvoudig voorbeeld van contentScript.jsIt sendRequest to app.js.

contentScript.js

chrome.extension.sendRequest({
    title: 'giveSomeTitle', params: paramsToSend
  }, function(result) { 
    // Do Some action
});

app.js

chrome.extension.onRequest.addListener( function(message, sender, 
 sendResponse) {
  if(message.title === 'giveSomeTitle'){
    // Do some action with message.params
    sendResponse(true);
  }
});

Antwoord 11

Uitschakelen als er een antivirusextensie in de browser is geïnstalleerd. In mijn geval was de antivirusextensie de boosdoener.


Antwoord 12

In mijn geval was het van de extensie “Automatic Backlink Checker”. Misschien helpt dit andere gebruikers om hun probleem gemakkelijker op te lossen. Ik ging van het uitschakelen van alle extensies in één keer om ze een voor een uit te schakelen. Op deze manier de mol.

Met vriendelijke groet


Antwoord 13

In mijn geval was het een breekpunt ingesteld in mijn eigen paginabron. Als ik het breekpunt zou verwijderen of uitschakelen, zou de fout verdwijnen.

Het breekpunt bevond zich in een redelijk complex stuk weergavecode. Andere onderbrekingspunten in verschillende delen van de pagina hadden een dergelijk effect niet. Ik was niet in staat om een eenvoudige testcase uit te werken die deze fout altijd veroorzaakt.


Antwoord 14

Ik heb de Chrome-extensie ‘Coupons bij het afrekenen’ uitgeschakeld en dit probleem is opgelost.


Antwoord 15

Het verwijderen van de OrangeMonkeyGoogle Chrome-extensie doet het werk voor mij!


Antwoord 16

Voor mij was het Auto Tab Discard, die die fout op vastgezette tabbladen veroorzaakt. Ik heb een bugrapport gemaakt, https://github.com/rNeomy/auto- tab-discard/issues/101.


Antwoord 17

Ik stuurde consoleloggegevens van het ene tabblad naar het andere en had de eerste console niet echt nodig. De foutmelding viel me echter tegen, dus ik klikte met de rechtermuisknop en selecteerde “berichten van x website niet weergeven”. Misschien is dit de gemakkelijkste oplossing 🙂


Antwoord 18

Het lijkt erop dat de NoCoffee Vision Simulator-extensie voor Chrome deze fout ook zal veroorzaken. Gewoon toevoegen als een mogelijke oorzaak voor mensen die in hun eigen geval kijken.


Antwoord 19

Voor mij is het antwoord het verwijderen van de extensie Sound Bar( https://chrome. google.com/webstore/detail/sound-equalizer/jgbgcmhkbphbhbfeeighjmiaoonppcpl)


Antwoord 20

De mijne was een extensie met de naam Color Contract Analyzer. Vond de link in deze github-uitgave die met iets heel anders te maken had

https://github.com/gatsbyjs/gatsby/issues/9899 #issuecomment-463697368


Antwoord 21

DuckDuckGo Privacy Essentials heeft dit veroorzaakt in mijn Chrome-versie 91.0.4472.101


Antwoord 22

Voor mij was het StayFocusd, ik kreeg de fout niet meer nadat ik het had uitgeschakeld.

Other episodes