我是javascript的新手,我想编写一个firefox Web扩展代码。 我有一个带弹出窗口的浏览器操作按钮。但我没有在清单中定义弹出窗口,我在javascript代码中设置它,因为定义弹出窗口时不会触发click事件。所以这是我的后台脚本的重要部分:
browser.browserAction.onClicked.addListener((tab) => {
var tabUrl = tab.url;
browser.browserAction.setPopup({ popup: "/popup/popup.html" });
browser.browserAction.openPopup();
browser.browserAction.setPopup({ popup: "" });
});
在这种情况下,tab对象被传递,所以我可以使用url。
此文件位于/ background_scripts文件夹中。 弹出窗口位于/ popup文件夹中。这是一个包含2个菜单项的html文件。 在popup.js中我有一个事件来获得点击:
document.addEventListener("click", (e) => {
if(e.target.id == menuItem1)
{
...
//here i want to use the url of the current tab
});
如何在弹出代码中获取标签对象或网址?
tabs.tab.getCurrent()方法根据我的理解不起作用:
tabs.getCurrent() result is undefined?
和这个
How do I include a JavaScript file in another JavaScript file?
也不起作用。