Browser JavaScript Explained

Browser JavaScript is a feature that allows Opera to automatically fix incompatible Web pages, out of date scripts, and pages that inadvertently block Opera. The script file is automatically distributed by Opera Software ASA, and can be used to apply fixes to specific Web sites, and specific scripts.

Browser JavaScript respects your JavaScript preferences, and will not be loaded if JavaScript is disabled.

Note: Opera also provides User JavaScript, which allows you to apply your own enhancements and fixes to Web pages. Additionally, Opera Software ASA runs the Open the Web initiative, which contacts the authors of problematic Web sites.

Keeping up-to-date

  • Opera automatically checks for updates to Browser JavaScript once every week. Any updates will be automatically downloaded and applied the next time a page is loaded in Opera.
  • You can manually check for updates using Help > Check for new release.
  • Automatic checking is controlled by the Browser JavaScript and Check For New Opera settings in Opera6.ini.
  • Files are downloaded separately for each user of Opera, and you do not have to be an administrator of your computer to make use of this feature.
  • The Browser JavaScript is signed and distributed by Opera Software ASA, and should not be edited.

If you use a proxy server that requires user name and password to access the internet, please note that Opera will not request user name and password for an authenticating proxy in order to download ua.ini and browser.js. Site patching or upgrade notification will not take place if such proxies are required.

Patches applied by Browser JavaScript

In most cases, when Browser JavaScript applies a fix, a message is posted in the JavaScript console (Tools > Advanced > JavaScript console) saying that the page has been changed.

Patched sites

adidas.com
  • Fixes non-standard-compliant usage of getYear instead of getFullYear.
aol.com
  • Prevents content from obscuring login and search screens.
  • Fixes overlapping content.
airfrance.fr
  • Fixes non-standard usage of getYear instead of getFullYear.
atomfilms.com and shockwave.com
  • Changes browser detect to make the plug-in detection work in Opera.
bnz.co.nz
  • Fixes non-standard usage of getYear instead of getFullYear.
budget.com
  • Prevents content from obscuring a menu.
cbsnews.com
  • Changes browser detect to make RealPlayer plugin detection work.
cnn.com
  • Fixes overlapping content.
comsec.com.au
  • Changes browser detect to make the menu work in Opera.
huskers.com
  • Prevents old menu from hiding entire site.
msdn.microsoft.com
  • Changes browser detect to make the page scripts run in Opera.
  • Fixes invalid scripts to make the data tables collapse correctly.
  • Makes the version compatibility tables work.
  • Changes browser detect to provide access to the demonstrations.
music.download.com
  • Fixes browser detection in outdated JavaScript library.
Netherland newspaper sites
  • Avoids a sniffer that prevents Opera from accessing several newspapers in the Netherlands.
Orkut and Google logins
  • Works around a security policy violation that prevents login to Orkut and Google Groups.
Ryanair Booking
  • Prevents a problem that caused select elements to reset.
scandinavian.net
  • Prevents a problem that caused select elements to reset.
skysports.com
  • Expands cropped Flash animation.
viamichelin.com
  • Corrects browser detection to make page use DOM2 Events-compatible code.
washingtonpost.com
  • Corrects browser detection to get standards-compatible functions.
yahoo.com
  • Fixes an eternal loop in a script, prevents Opera from freezing.
  • Works around browser detection in SBC Yahoo portal.

Patched scripts

  • Old versions of the following popular menu scripts, all of which fail in Opera:
    • "Sothink menus" versions 3.72 and earlier; changes browser detect to make the menus use the correct code in Opera.
    • "Milonic menus": changes browser detect to make the menus use the correct code in Opera.
    • "HierMenus": changes browser detect so the menu is not disabled in Opera.
    • "Likno AllWebMenus", builds earlier than 498; changes browser detect to make the menus use the correct code in Opera.
    • "Menu/Pop Menu": (HV Menu); changes browser detect so the menu is not disabled in Opera.
    • "Ultimate Dropdown Menu": changes browser detect so the menu is not disabled in Opera.
    • "OpenCube menus": changes browser detect to make the menus use the correct code in Opera.
    • "Coolmenus": changes browser detect to make the menus use the correct code in Opera.
    • "DynAPI": changes browser detect to make the library use the correct code in Opera.

Note to webmasters

There are several reasons why Opera might modify your pages. These include:

  • Opera may prevent a browser detect on your pages from causing problems.
  • Opera may fix incompatible, invalid, out-of-date, or problematic code used on your pages.

If you think Opera is modifying your page incorrectly or unnecessarily, or if you have removed the cause of the problems, please mail web-compliance@opera.com.

If you wish to disable Browser JavaScript to allow you to test your fixes, you can do this by setting Browser JavaScript to 0 in Opera6.ini.

Screenshots

Opera screenshotOpera screenshotOpera screenshot

View more screenshots of Opera.

Skins

Opera skin - FreshOpera skin - Breeze IIOpera skin - Emil

Customize the look of Opera with free skins and set-ups.

Tutorials

Learn more about using Opera in the Opera tutorials.

Promote Opera

Show the world that you use Opera by placing a Opera button on your site.