Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   removeEventListener в greasemonkey (https://javascript.ru/forum/events/5139-removeeventlistener-v-greasemonkey.html)

dimaniac 19.09.2009 00:54

removeEventListener в greasemonkey
 
сор если не туда запостил.
Вообщем есть такой нехороший сайт на одной из страниц которого есть такой код
document.oncontextmenu = function(){alert("some text");return false;}
в результате я не могу ничего с этой страницей сделать(картинки сохранить и т.п.) мне хочется чтобы этого не было но страница сохраняла функиональность. В greasemonkey есть такой косяк что там свойства типа onclick и т.п.(в т.ч. oncontextmenu) нельзя переназначать. Т.е. я могу добавить обработчик события с помощью addEventListener. Но я не могу удалить старый т.к. для removeEventListener требуется ссылка на функцию. Есть ли возможность заполучить эту ссыку каким либо образом? Или решить проблему другим способом(без отключения javascript на странице)?

Octane 19.09.2009 01:37

Не легче просто выключить JavaScript на время, когда нужно что-то сохранить с этого сайта? :-)

Вообще, если обработчик добавлен именно таким способом, как вы написали, то достаточно сделать так:
document.oncontextmenu = null;

dimaniac 19.09.2009 03:17

Цитата:

Сообщение от Octane (Сообщение 30452)
Вообще, если обработчик добавлен именно таким способом, как вы написали, то достаточно сделать так:
document.oncontextmenu = null;

Цитата:

Сообщение от Octane (Сообщение 30452)
В greasemonkey есть такой косяк что там свойства типа onclick и т.п.(в т.ч. oncontextmenu) нельзя переназначать.

На userscripts мне уже ответили
Цитата:

var doc = document.wrappedJSObject || document;
doc.oncontextmenu = null;
Все работает :)


Часовой пояс GMT +3, время: 12:30.