Взяв под контроль URL-адрес в Firefox

Я хотел бы изменить URL-адрес, чтобы включить дополнительные функции. Что-то вроде Instantfox делает.

Для этого мне нужно 2 вещи:

  1. Мне нужно слушать события нажатия клавиш из моего расширения.
  2. Я хочу отключить всплывающее окно с предложениями по умолчанию.

Каков был бы самый чистый способ достигнуть этого? Если возможно с помощью аддона SDK.

3 ответа

Решение

У меня есть надстройка под названием Fantastic Bar, которая делает то, что вы хотите.

Вероятно, это грязный способ, который вы упоминаете в своем комментарии, но я думаю, что это лучший способ сделать это с помощью SDK

const doc = require('sdk/window/utils').getMostRecentBrowserWindow().document;
var urlBarIcons = doc.getElementById('urlbar-icons')
var btn = doc.createElement('toolbarbutton');
btn.setAttribute('id', 'foo');
btn.setAttribute('image', loc('bar.png'));
btn.addEventListener('command', function(event) {
  urlBtnClick();
}, false);
urlBarIcons.appendChild(btn);

Взгляните на примеры из addon-sdk wiki, в частности модуль awesomebar, как его использовать. Это самый простой способ давать пользовательские предложения на панели URL.

Я знаю, что это не отключает его (пункт 2 из вашего вопроса), но вы будете иметь контроль над тем, что предлагать, и, возможно, таким образом вам не нужно слушать события нажатия клавиш (пункт 1 из вашего вопроса).

Другие вопросы по тегам