chrome.tabs.query currentWindow on" inactive"后台页面不会返回标签页

时间:2017-05-03 20:14:59

标签: google-chrome-extension

我的Chrome扩展程序背景页面在persistent: false中配置为manifest.json

后台页面实现了以下Chrome API方法:

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
    // tabs is empty
});

如果在调用上述代码时后台页面变为非活动状态,则query方法在回调中不返回任何选项卡,删除currentWindow过滤器返回选项卡,但不删除所有窗口。使用lastFocusedWindow也无效。

有没有办法让非活动后台页面成功查询当前窗口活动选项卡。

1 个答案:

答案 0 :(得分:0)

这是内存卸载的副作用。考虑使用chrome.runtime.getBackgroundPage,这将确保在调用回调之前完整加载事件页面。

来自developer.chrome.com:

chrome.runtime.getBackgroundPage(function callback)

  

检索当前扩展程序/应用程序内运行的后台页面的JavaScript“窗口”对象。如果后台页面是事件页面,系统将确保在调用回调之前加载它。如果没有背景页面,则会设置错误。