Страницы: 1
Привет всем неравнодушным.
Решил написать своё первое расширение. Споткнулся где-то в начале. Хочу, чтобы на событие "Нажатие на кнопку" вызывалась функция.
Имеется такой overlay:
<overlay id="test-overlay" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <toolbarpalette id="BrowserToolbarPalette"> <toolbarbutton id="test-button" label="Test label" tooltiptext="Test tooltip" onclick='TestToolbar.buttonClick(event);' /> </toolbarpalette> <script src='main.js' /> </overlay>
По какой причине даже alert не всплывает - не могу понять. Вроде все по образцу, как в самоучителе. Вот main.js:
var TestToolbar = { buttonClick: function(event){ alert('All works!'); var testbt = document.getElementById('test-button'); testbt.setAttribute('tooltiptext', 'Changed'); } }
Кнопка есть, нажимается, а ничего не происходит. Где ошибка?
Ну а совсем неравнодушных спрошу вот чего: как можно отследить событие перехода по ссылке? Хочу URL перехватить и изменить.
Спасибо.
Отсутствует
Нужно добавить прослушивателя события, что-то типа -
var testbt = document.getElementById('test-button'); testbt.addEventListener("mousedown",YourFunc, false);
Где YourFunc -Ваша ф-ция.
Отсутствует
Нужно добавить прослушивателя события, что-то типа -
Выделить кодКод:
var testbt = document.getElementById('test-button'); testbt.addEventListener("mousedown",YourFunc, false);Где YourFunc -Ваша ф-ция.
Я бы назвал это добавлением обработчика события.
Отсутствует
Наконец-то добрался до компьютера.
Спасибо FBB, bunda1!
Разобрался. Ява-скрипт имеет ̶о̶т̶с̶у̶т̶с̶т̶в̶и̶е̶ ̶п̶р̶а̶в̶и̶л̶ довольно странные правила расстановки точки с запятой. Хорошо об этом написано здесь:
http://habrahabr.ru/post/111563/
Пробовал добавлять addEventListener, а толку никакого. В моем случае этого делать не нужно, потому что обработчик события уже прописан в overlay:
Непонятно почему в потоке скрипта alert('Test text'); и alert('Test text') одинаково работают, а если написать с точкой с запятой в теле функции , то не работает.
Осталось понять, как можно перехватить GET запрос и исправить?
А может быть прочитать содержимое адресной строки? Так даже лучше, пользователь видеть будет, что поменялось. Попробую найти, потом отпишусь.
Отсутствует
Всем привет! Собрал свое первое файрфокс расширение, ура-ура!
Теперь рутинные телодвижения превратились в один клик по красивой кнопочке + получил опыт обращения с ява-скриптом. Приятно
Оставлю памятку для себя и будущих поколений:
Для работы с адресом страницы можно пользоваться двумя способами:
и
Первый - здесь присваиваем переменной myLocation значение полного адреса открытой страницы в активной вкладке, второй - содержимое адресной строки в urlBar.
Значения могут различаться: например для пустой станицы первая переменная будет содержать «about:blank», а вторая - пустую строку.
Почему нужны и тот и этот:
Если в первом случае присвоить myLocation строку вида http://tra-ta.ta/page.php, то файрфокс перейдет по этой ссылке немедленно.
Во втором случае можно взять и изменить содержимое адресной строки с тем, чтобы оставить переход по ссылке на усмотрение пользователя. Мне пригодились оба способа.
Всем спасибо.
Отредактировано inaugurator (05-01-2014 23:23:29)
Отсутствует
okkamas_knife
Про Custom Button я знаю, только зачем ставить такой комбайнер ради одной очень специальной цели? Самому написать в тысячу раз интереснее.
А про то, что от версии к версии придумывают новые чудные правила - много недовольных разрабов.
Ну а если пользоваться больше решениями ява-скрипта, то вряд ли тут что-то может сильно поменяться. Должно работать и через 10 и 20 версий лисы
Отсутствует
Ну выкладывать я не собираюсь, уж слишком все просто и специфично.
так что и не надейся что всё будет работать а готовься заранее
Если бы действительно было все так плохо, то давно бы расширения никто не писал. Ну поменяли ID - проблема что ли подправить пару строчек. Пока меня идеи файрфокса вполне устраивают.
Отсутствует
Страницы: 1