Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№118-08-2009 13:39:34

srafael
Участник
 
Группа: Members
Зарегистрирован: 18-08-2009
Сообщений: 2
UA: Firefox 3.5

initMouseEvent кликает всегда по нулевым координатам

Подобный вопрос уже поднимался в топике и так и не получил вразумительного ответа:
http://forum.mozilla-russia.org/viewtop … pid=193461

Суть в том, что при попытке эмулировать клик мыши по ссылке с картинкой клик производится по всегда нулевым координатам. К примеру в форме имеем такую кнопку:

Выделить код

Код:

<form method="POST"......
.....<input name="append" src="pics/app_button.jpg" alt="добавить" type="image">

При нажатии на кнопку нижеследующим кодом, в целевой странице в запросе POST в координатах клика отправляются нули несмотря на то, что я их поставил ненулевыми:

Выделить код

Код:

mouseEvent.initMouseEvent('click', true, true, window, 1, 5, 5, 5, 5, false, false, false, false, 0, null);
clickLink.dispatchEvent(mouseEvent);

Кстати также с нулевыми координатами запрос формируется в FireFox в случае отключения отображения картинок. К примеру даже с отключенными картинками в Opera все нормально так она хотя бы рамки от картинок показывает и полноценно кликает на них, так, как если бы она была загружена. В FireFox же вместо картинок часто отображается просто текст из альта без всяких рамок и контейнеров соответствующих размеров.

Можно конечно попробывать поизвращаться с этим нижеописанным методом, но он неудобен, т.к. слишком зависим от размеров окна, активированных панелей инструментов (координаты начинаются не с верхнего левого угла страницы а именно окна, возможно из-за того, что я использую этот метод из iMacros и не совсем правильно интерфейсы вызываю) и еще придется использовать прокрутку. Вообщем пока меня этот метод не особо прельщает.

var req = getBrowser().docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor);
var utils = req.getInterface(Components.interfaces.nsIDOMWindowUtils);
utils.sendMouseEvent("mousedown", 105, 110, 0, 1, 0, true);
utils.sendMouseEvent("mouseup", 105, 110, 0, 1, 0, true);

Вообщем:
Как по нормальному кликнуть на кнопку?

Отредактировано srafael (18-08-2009 13:40:42)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]