Страницы: 1
Ну в общем, загружена страница somepage.htm:
<HTML> <HEAD> </HEAD> <BODY> <form name="form1" action="http://localhost:8080/test.jsp" method="POST"> <input type="text" name="sometext"><br> <input type="button" name="push" value="OK"><br> </form> </BODY> </HTML>
Как мне в расширении отловить событие onClick на странице somepage.htm?
Спасибо.
Отсутствует
boroda
отловить событие onClick
событие чего, нажатия на кнопку? А зачем, дальше что необходимо сделать
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20061204 GranParadiso/3.0a1
Отсутствует
как мне в расширении отловить событие onClick на странице somepage.htm?
Ты мешаешь HTML и XUL файлы. Чтобы сделать формочку для расширения, с отловом всех событий, надо писать помесь XUL и JS файлов (или засунуть всё в однин, но мазиловцы этого не рекомендуют).
Храни ясность ума. Моего.
Отсутствует
boroda
отловить событие onClick
событие чего, нажатия на кнопку? А зачем, дальше что необходимо сделать
да, я хочу отловить событие onClick при нажатии на кнопку push на странице somepage.htm
Т.е. при нажатии на эту кнопку я к примеру хочу чтобы мое расширение записывало строку "cheked" в текстовый файл.
Отредактировано boroda (10-02-2006 16:57:31)
Отсутствует
Если не отлавливается событие 'click', то уж 'mbuttondown' точно должно.
Anton
Я имел ввиду событие onClick, т.е. нажатие кнопки на странице somepage.htm, а не нажатие кнопки мыши.
А вообще как я могу добраться к элементу страницы из расширения
пробовал
и
на выходе ошибка
Error: window._content.document.form has no properties Source File: chrome://test/content/execute_test.js Line: 28
У меня ФФ 1.0.6
Отсутствует
...
Я имел ввиду событие onClick,...
Я то же самое имел в виду. Добавь в окно обработчик onclick:
Этот обработчик отработает первым.
...
А вообще как я могу добраться к элементу страницы из расширения
пробовали
на выходе ошибка
Выделить кодКод:
Error: window._content.document.form has no properties Source File: chrome://test/content/execute_test.js Line: 28У меня ФФ 1.0.6
function getTopWin () { var windowManager = Components. classes ['@mozilla.org/appshell/window-mediator;1']. getService(); var windowManagerInterface = windowManager. QueryInterface (Components. interfaces. nsIWindowMediator); var topWindowOfType = windowManagerInterface. getMostRecentWindow ("navigator:browser"); if (topWindowOfType) { return topWindowOfType; } return null; } function getContent () { var cont = getTopWin (). getBrowser (). contentDocument; var c2 = cont; try { cont = new XPCNativeWrapper (cont). wrappedJSObject; } catch(e) {} if (!cont) cont = c2; return cont; } var c = getContent ();
Теперь можно искать нужный элемент:
var forms = c. getElementsByTagName ("form"); for (var i = 0; i < forms. length; i++) if (forms [i]. getAttribute ("name") == "...") ...
Отредактировано Anton (10-02-2006 22:34:37)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Спасибо Вам Anton
научился добираться к элементу формы на странице. Но у меня возникла еще одна проблема
с обработчиком
Он срабатывает при нажатии кнопки в любой области окна ФФ. А мне надо чтобы он срабатывал только при нажатии на кнопку push на странице somepage.htm.
Не подскажите что делать? Кто-нибудь Заранее спасибо
Отредактировано boroda (13-02-2006 17:22:17)
Отсутствует
...мне надо чтобы он срабатывал только при нажатии на кнопку push на странице somepage.htm...
1. Если текущая вкладка содержит somepage.htm, то
2. Если в окне имеется обработчик события click с аргументом event и происходит нажатие на кнопку
то
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Извините Anton, но башка моя совсем отказывается соображать. Я не очень понял ваше сообщение.
У меня есть страница somepage.htm, она описана в моем первом сообщении.
Так же у меня есть расширение, которое должно срабатывать при нажатии на кнопку Push, на странице somepage.htm
window.addEventListener ("click", clickHandler, true); function clickHandler(event) { Не понимаю что должно быть здесь:( }
Также не понимаю
Если в окне имеется обработчик события click с аргументом event и происходит нажатие на кнопку Код: <input type="button" name="push" value="OK"> то Код: event.target="input" // или "html:input"
Причем тут event.target="input", если event.target возвращает object XULElement
Сильно только не ругайтесь
Отредактировано boroda (13-02-2006 19:26:23)
Отсутствует
Я ошибся, не event.target, а event.target.nodeName.
window.addEventListener ("click", clickHandler, true); function clickHandler(event) { if ((window._content.location.href == "адрес страницы somepage.htm") && (event.target.nodeName=="input")) { // делаем нужное } }
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Спасибо Anton
Все работает, но остался последний вопрос.
При нажатии на текстовое поле
event.target.nodeName==INPUT
но когда я нажимаю на кнопку
,
то event.target.nodeName==tabbrowser
Почему так?
Отсутствует
...
Почему так?
Я, честно говоря, не знаю. Но знаю, как решить. Вот так:
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Страницы: 1