Bootstrap

谷歌浏览器扩展程序报错 The message port closed before a response was received.

问题描述

Chrome Extension 报错:

Unchecked runtime.lastError: The message port closed before a response was received.

中文意思是,最近未检查的运行时错误:在接收到 response 响应消息之前,消息通道的端口就已经关闭了。

在 Chrome 的开发者工具的 Console 控制台中,可能会发现上面的报错信息。

产生错误的来源有两个:

  1. 第三方扩展程序。
  2. 个人开发的扩展程序。

如果是第三方扩展程序,只需从表面上解决该问题,禁用或删除第三方扩展程序即可。

当然,如果是个人开发的扩展程序,必须从根本上解决该问题,否则会严重影响该扩展程序的使用。

下面,我们主要研究,对于我们自己开发的谷歌浏览器扩展程序(Chrome Extension),该如何解决上述报错?

分析和解决问题

在 Chrome 开发者官网,选择 Chrome APIs → Extension APIs,找到关于 chrome.runtime.onMessage.addListener(function callback) 的介绍信息(地址为 https://devel

;