我一直在将扩展程序从chrome迁移到Web扩展程序。 chrome扩展程序的链接为here
一切正常,除了我需要在我的角度应用程序中获取制表符信息之外,在TypeError: "browser.tabs is undefined"
的提示下出现错误
我可以在后台脚本中访问选项卡信息,并且可以将其发送到内容脚本,但不能在主应用程序中发送。
我的应用程序在iframe中打开,iframe指向角度应用程序。
browser.tabs.getCurrent(function (tabs) {
//these are tabs
});
我能够通过chrome扩展程序获得它,我找不到将其从后台或内容发送到主应用程序的方法。
我在后台获取它并将其发送到内容
BACKGROUND.js
browser.tabs.query({ currentWindow: true, active: true }, function (tabs) {
tabs = tabs
chrome.tabs.sendMessage(tabs[0].id, { action: "tabs", tabs : tabs }, function(response) {
console.log(response);
});
});
以
获取内容CONTENT.JS
browser.runtime.onMessage.addListener(function (request, sender, sendResponse) {
if (request.action == 'tabs') {
tabs = request.tabs;
}
if (request.action == 'get_tabs') {
sendResponse(tabs);
}
});
还尝试通过发送消息和响应,例如在get_tabs
在主应用中的某处
browser.runtime.sendMessage({ 'action': 'get_tabs' }, function (tabs) {});
如果您遇到此问题,请回答。