[英]Open a tab and make a POST request to it in a firefox webextension
[英]tab.openerTabId undefined in Firefox WebExtension
我在 Firefox WebExtension 的后台脚本中有此代码,但每次创建新选项卡时它都会打印: "OPENER ID: undefined"
:
chrome.tabs.onCreated.addListener(function (tab) {
console.log("OPENER ID: " + tab.openerTabId);
});
问题是什么? 这段代码在 Chrome 中运行良好,在文档中它说 Firefox 支持openerTabId
属性。
是的,创建新选项卡时 openerTab 仍然存在(通过单击 openerTab 中的某个链接创建新选项卡)。
从Firefox 57 开始,桌面版 Firefox 支持tabs.Tab.openerTabId
。
Firefox for Android 不支持tabs.Tab.openerTabId
有关至少可以为您提供一些信息的解决方法的详细信息,请参阅我的回答:如何在 Firefox WebExtensions 中获取 openerTabId?
问题是 Firefox 不支持tabs.Tab.openerTabId
。 Firefox的兼容性说明明确指出 [强调我的]:
不支持“openerTabId”。
如果您真的需要这些信息,您通常可以使用各种事件自己跟踪它: 如何在 Firefox WebExtensions 中获取 openerTabId?
如果您希望将此功能视为 WebExtensions API 的一部分,我建议您提交错误以跟踪其实现。
首先,我相信Firefox使用
browser.tabs.onCreated.addListener(function(tab) {});
而不是
chrome.tabs.onCreated.addListener(function(tab) {});
https://developer.mozilla.org/zh-CN/Add-ons/WebExtensions/Chrome_incompatibilities
我不认为这是您的主要问题,因为我一直在尝试复制问题,而且我也看到后台脚本似乎无法访问openerTabId属性(至少从后台)通过单击浏览器图标激活脚本)。 我可以访问其他Tabs.tab属性,例如状态,索引和ID,但不能访问openerTabId属性。 openerTabID保持读取为“未定义”。 我不知道是否有必要采取特殊步骤来访问此属性,而不是这是否是一个bug(因为文档中所说的bug应该是可读的,因此只要打开该标签的标签仍然存在)。 https://developer.mozilla.org/zh-CN/Add-ons/WebExtensions/API/tabs/Tab
如果您将提供有关编码逻辑外观的更多详细信息(清单看起来像什么?等),这将非常有帮助,以便有经验的贡献者可以参与进来。
(我将其发布为答案而不是评论,因为我没有足够的声誉可以发表评论。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.