如何解决“在收到响应之前,消息端口已关闭”。在JavaScript

时间:2019-04-03 03:02:08

标签: javascript google-chrome

自chrome v73.0.3683.86起,我遇到了javascript问题,每当我在window.location.reload()函数之后运行我的javascript代码时,它总会给我错误“未经检查的runtime.lastError:消息端口在收到回应之前关闭。”

我已经在互联网上搜索了许多主题,但其中大多数是关于chrome扩展的。因此,我尝试在认知模式下运行此代码并禁用所有扩展名,但没有任何更改。

※由于某些原因,我需要在window.location.reload()之后运行某些内容

像这样的onClick javascript函数

<html>
    <head>
        <title>Hello world!</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script type="text/javascript">
            function buttonClick() {
                window.location.reload();
                document.title = "Hi there";
            }
        </script>
    </head>
    <body>
        <div>TODO write content</div>
        <button onclick="buttonClick()">Click here</button>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

您可以尝试在没有任何扩展名的chrome上运行它吗? -右键点击您的Chrome快捷方式 -选择属性。 -在目标字段的末尾添加--disable-extensions --disable-plugins

它看起来像:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" /high-dpi-support=1 /force-device-scale-factor=1 --disable-extensions --disable-plugins
  • 单击确定
  • 启动Chrome。

答案 1 :(得分:0)

谢谢大家,我想出了问题,这是因为扩展程序试图通过运行“ chrome.runtime.sendMessage”将消息发送到background.js 因此,当我运行windown.location.onload()函数时,它将关闭消息端口并抛出错误消息!

问题是无法在我的办公室计算机上禁用扩展名:))