chrome.extension.getBackgroundPage 返回 null

chrome.extension.getBackgroundPage returns null

提问人:Rex 提问时间:11/23/2017 更新时间:11/23/2017 访问量:439

问:

嗨,我正在尝试从弹出窗口 .js 在后台 .js 中执行一个函数,但总是返回 null :chrome.extension.getBackgroundPage();

弹出式 .js

  var bkg = chrome.extension.getBackgroundPage();
  bkg.test(function(result) {
    alert(result);
  });

背景:.js

  function test(func) {
      alert('test');
    func.apply(this, ['bar']);
  }

和我的清单

{
  "name": "Get pages source",
    "background": {
    "scripts": ["background.js"],
    "persistent": true
  },
  "version": "1.0",
  "manifest_version": 2,
  "description": "Get pages source from a popup",
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": ["tabs", "<all_urls>",
    "downloads","http://*/*", "https://*/*","background"
  ]

}

有人知道为什么吗?

javascript 谷歌浏览器 扩展程序

评论

0赞 wOxxOm 11/23/2017
alert可能会在后台页面中被阻止。无论如何,首先检查弹出窗口的控制台是否有错误:右键单击弹出窗口,然后单击检查。然后检查后台控制台。另外,如果你在Firefox中尝试它,其中一个最新版本有buggy getBackgroundPage,它返回null。
0赞 Rex 11/23/2017
我在 chrome 上执行此操作,并在控制台中显示:Cannot read property 'test' of null
0赞 wOxxOm 11/23/2017
好吧,发布的代码有效,因此您没有向我们展示其他内容。或者可能是浏览器中的错误。
0赞 Rex 11/23/2017
是的,只是把我所有的代码都放在了 expt 中,它起作用了,然后删除了注释,它仍然有效....../**/

答: 暂无答案