Подтвердить что ты не робот

Найдите URL текущей вкладки. Создание дополнения к FireFox Browser

Я создаю надстройку браузера Firefox и вам нужно найти URL-адрес текущей вкладки

Я пробовал этот пост Открытие URL-адреса в текущей вкладке/окне из расширения Firefox, но он говорит мне, что "окно" не определено. (Я думаю, потому что я делаю надстройку, а не расширение).

Вот что я пытался сделать:

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);
  }
})

Я сделал виджет таким образом, что, когда я нажимаю на него, URL-адрес текущей вкладки должен быть "console.log".

Кажется, не бывает! Продолжайте получать "info: undefined", что явно означает, что tabs.url ничего не возвращает. Но, похоже, это способ использовать его в соответствии с https://addons.mozilla.org/en-US/developers/docs/sdk/1.5/packages/addon-kit/docs/tabs.html

У кого-нибудь есть идеи?

Спасибо,

Воля

4b9b3361

Ответ 1

Ты почти там:

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 Url is "+url,
      text: "Click to copy.",
      onClick: function() {
        clipboard.set(url);
      }
    });
  }
});

Вы должны проверить документацию в модуле вкладок.

Примечание. Я обновил этот пример кода, чтобы использовать новые модули ui, доступные с Firefox 29 - модуль "widget", используемый в исходном вопросе, был действителен в то время, но с тех пор был устаревшим и затем удален.