Взяв под контроль URL-адрес в Firefox
Я хотел бы изменить URL-адрес, чтобы включить дополнительные функции. Что-то вроде Instantfox делает.
Для этого мне нужно 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 из вашего вопроса).