gpt4 book ai didi

google-chrome-extension - Chrome 扩展程序 : detect when popup window closes

转载 作者:行者123 更新时间:2023-12-03 18:25:35 29 4
gpt4 key购买 nike

对于我的 chrome 扩展,我想在 browserAction 弹出窗口关闭时执行一个操作。我知道发生这种情况时不会触发任何内置事件。我找到了 this suggestion用后台脚本打开一个连接,然后使用连接的port.onDisconnect检测弹出窗口正在关闭的事件。

但是,当弹出窗口关闭时,我在后台脚本的开发人员控制台中看到以下错误:

(BLESSED_EXTENSION context for glkehflnlfekdijfhacccflbffbjhgbd) extensions::messaging:102: Uncaught TypeError: Cannot read property 'destroy_' of undefined{TypeError: Cannot read property 'destroy_' of undefined
at PortImpl.destroy_ (extensions::messaging:102:37)
at dispatchOnDisconnect (extensions::messaging:322:29)}

我使用的脚本详述如下。

你能看出我哪里出错了吗?

list 文件
{ "manifest_version": 2

, "name": "Detect when popup closes"
, "version": "0.1"

, "browser_action": {
"default_icon": "popup.png"
, "default_popup": "popup.html"
}

, "background": {
"scripts": [
"background.js"
]
}
}

弹出窗口.html
<!DOCTYPE html>
<body>
<h1>Test</h1>

<script src="popup.js"></script>
</body>
</html>

弹出窗口.js
var port = chrome.runtime.connect()

背景.js
chrome.runtime.onConnect.addListener(function (externalPort) {
externalPort.onDisconnect = function () {
try {
var ignoreError = chrome.runtime.lastError
} catch (error) {
console.log("onDisconnect")
}
}
)

最佳答案

作为引用,这里是 background.js 脚本的工作版本:

chrome.runtime.onConnect.addListener(function (externalPort) {
externalPort.onDisconnect.addListener(function () {
console.log("onDisconnect")
// Do stuff that should happen when popup window closes here
})

console.log("onConnect")
})

关于google-chrome-extension - Chrome 扩展程序 : detect when popup window closes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39730493/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com