важное преимущество user js в опере над greasemonkey
в гризманки юзерскрипты выполняются только после того, как страница загружена целиком — со всеми фотографиями, флешками и прочим. Опера выполняет скрипты едва ли не до начала парсинга страницы. Это позволяет, например, сразу навешивать обработчики событий на документ, и ещё в процессе загрузки длинной страницы можно будет пользоваться новыми возможностями. Если же есть необходимость обрабатывать DOM, то тут очень помогает document.addEventListener('DOMContentLoaded', …)
, срабатывающий по готовности непосредственно DOM, а не тормозных картинок.
важно отметить, что тут подстерегает маленькая ловушка: опера считает файлы скриптов с расширением .user.js
предназначенными для гризманки, и имитирует им работу в знакомом окружении — они выполняются только после загрузки страницы. Но достаточно просто изменить расширение на .js
, и всё начинает работать как надо
хотя, конечно, у гризманки есть свои плюсы, вроде нормального интерфейса для управления скриптами или возможности делать кроссдоменные запросы аяксом