我正在制作Firefox浏览器插件,需要找到当前标签的网址
我已经尝试了这篇文章Opening a URL in current tab/window from a Firefox Extension,但它告诉我'窗口'没有定义。 (我认为因为我正在制作附加内容而不是附加内容。)
这是我试图做的事情:
var widgets = require('widget');
var tabs = require('tabs');
var widget1 = widgets.Widget({
id: "widget1",
label: "widget1",
contentURL: "http://www.mozilla.org/favicon",
onClick: function() {
console.log(tabs.url);
}
})
我制作了一个小部件,当我点击它时,当前标签的网址应为'console.log'。
似乎没有发生!继续获取“info:undefined”,这显然意味着tabs.url没有返回任何内容。但这似乎是根据https://addons.mozilla.org/en-US/developers/docs/sdk/1.5/packages/addon-kit/docs/tabs.html
使用它的方法有人有什么想法吗?
谢谢,
威尔
答案 0 :(得分:11)
你快到了:
const { ActionButton } = require("sdk/ui/button/action");
const clipboard = require("sdk/clipboard");
const tabs = require('sdk/tabs');
let button = ActionButton({
id: "my-button-id",
label: "Button Label",
icon: {
"32": "chrome://mozapps/skin/extensions/extensionGeneric.png"
},
onClick: function(state) {
let url = tabs.activeTab.url;
console.log("active tab url:", url);
require("sdk/notifications").notify({
title: "Active Tab's Url is "+url,
text: "Click to copy.",
onClick: function() {
clipboard.set(url);
}
});
}
});
您应该查看documentation on the tabs module。
注意:我已更新此代码示例以使用自Firefox 29以来可用的新ui模块 - 原始问题中使用的“小部件”模块当时有效,但此后已被弃用,然后被删除。