我想在后台页面和扩展程序的其他页面之间共享变量,但不使用chrome.extension.getBackgroundPage()。
代码错误,因为控制台日志
运行windows.update时未选中runtime.lastError:没有ID为0的窗口
清单
"background": {
"scripts": [
"/shared/utils.js",
"/background/background.js"
],
"persistent": false
},
background.js
chrome.browserAction.onClicked.addListener(function (tab) {
originalTabUrl = tab.url;
originalTabId = tab.id;
originalWindowId = tab.windowId;
var panelUrl = chrome.runtime.getURL("extension/views/main_panel.html");
chrome.windows.create({
url: panelUrl,
type: 'panel',
width: 600,
height: 520
}, function (window) {
extensionWindowId = window.id;
});
});
utils.js
var extensionWindowId = 0;
var originalWindowId = 0;
var originalTabUrl = 0;
var originalTabId = 0;
function updateTab(tabId, url) {
chrome.windows.update(originalWindowId, {
focused: true
});
});
因此,使用此代码,在打开扩展程序时未分配originalWindowId。