我的Chrome扩展程序背景页面在persistent: false
中配置为manifest.json
。
后台页面实现了以下Chrome API方法:
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
// tabs is empty
});
如果在调用上述代码时后台页面变为非活动状态,则query
方法在回调中不返回任何选项卡,删除currentWindow
过滤器返回选项卡,但不删除所有窗口。使用lastFocusedWindow
也无效。
有没有办法让非活动后台页面成功查询当前窗口活动选项卡。
答案 0 :(得分:0)
这是内存卸载的副作用。考虑使用chrome.runtime.getBackgroundPage
,这将确保在调用回调之前完整加载事件页面。
来自developer.chrome.com:
chrome.runtime.getBackgroundPage(function callback)
检索当前扩展程序/应用程序内运行的后台页面的JavaScript“窗口”对象。如果后台页面是事件页面,系统将确保在调用回调之前加载它。如果没有背景页面,则会设置错误。