Библиотека
Browser JavaScript — это функция, позволяющая Opera автоматически исправлять несовместимые веб-страницы, устаревшие скрипты, и страницы, которые по неосторожности блокируют Opera. Этот файл скрипта автоматически распространяет Opera Software ASA, и может быть использован для применения исправлений определенных веб-сайтов и определенных скриптов.
Browser JavaScript относятся к вашим настройкам JavaScript, и не могут быть загруженны если отключенны JavaScript.
Предупреждение: Opera также обеспечивает использование UserJS, которые позволяют вам применять ваши собственные расширения и исправления веб-страниц. Дополнительно, Opera Software ASA руководит инициативой Open the Web, которая поддерживает связь с авторами проблеммных веб-сайтов.
Справка > Проверить обновления.Browser JavaScript и Check For New Opera в Opera6.ini.Справка > О программе подскажет вам местонахождение директории вашего профиля.Если вы используете прокси-сервер, который для доступа в Интернет требует имя пользователя и пароль, то примите во внимание, что Opera не будет запрашивать имя пользователя и пароль для аутентификации прокси, чтобы загрузить ua.ini и browser.js. Внесение исправлений сайта или уведомление об обновлении не будут доступны, если требуются такие прокси.
Есть несколько причин по которым Opera может модифицировать ваши страницы. Они включают:
Если вы считаете, что Opera модифицирует ваши страницы некорректно или излишне, или если вы устранили причину возникновения проблеммы, пожалуйста, напишите нам по адресу web-compliance@opera.com.
Если вы хотите отключить JavaScript браузера для того, чтобы можно было протестировать ваши изменения, вы можете сделать это установив в Opera6.ini параметр Browser JavaScript в 0.
В большинстве случаев, когда Browser JavaScript производит исправление, в консоли JavaScript Инструменты > Дополнительно > Консоль JavaScript появляется сообщение, говорящее о том, что страница была исправлена.
Browser JavaScript активно использует спец. функции Opera defineMagicVariable и defineMagicFunction.
Функция defineMagicFunction имеет два аргумента:
Первый – название подменяемой функции в виде строки. Второй – сама функция, которая будет выполнятся вместо неё. Эта функция в свою очередь, при вызове будет иметь как минимум два аргумента:
Переменная метода/функции Переменная this И далее идут аргументы с которыми была вызвана подменяемая фунция.
Благодаря этому можно, например, подменив функцию тем не менее вызывать её:
window.opera.defineMagicFunction('K',function(oF,oThis,a,b) { oF.apply(oThis,[a,b]); });