在没有chrome.extension.getBackgroundPage()的情况下,在后台页面和扩展页面之间共享变量

时间:2019-02-04 14:32:07

标签: javascript google-chrome-extension

我想在后台页面和扩展程序的其他页面之间共享变量,但不使用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。

0 个答案:

没有答案