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 .
- Automatic checking is controlled by the
Browser JavaScriptandCheck For New Operasettings 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.
- The file will be stored in Opera's profile folder. The screen will tell you where the profile folder is.
- Current browser.js status: disabled
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 () saying that the page has been changed.
Site fixes
- Multiple fixes
- AOL: browser warnings for various features of aol.de
- Barnes&Noble uses "required" attributes on elements that aren't required
- Multiple fixes
- CNet videos: document.write adds a script that depends on variables defined later
- Multiple fixes
- dowjones.com: No styling when ID as Opera, menus under Flash
- eatsleepsport.com uses SCRIPT for.. event.. syntax, never stops loading
- Emirates.com: broken OpenCube
- Multiple fixes
- Multiple fixes
- epa.qld.gov.au site uses capturing load events.
- Fileplanet.com sniffing blocks Opera
- FoxNews: sniffing prevents Flash video features from functioning
- Multiple fixes
- Budget.com: menu appears behind IFRAME "shim"
- text-transform on INPUT is a bad idea
- KLM uses Gecko-specific originalTarget
- Lycos webmail attachment page re-loads
- Multiple fixes
- Mediaworld outdated HierMenu
- MS styling uses direction: to position things ?!?
- Fixing audio samples, old overlibwms library only detects Opera7
- NBC4.tv uses capturing load events
- NBC Olympics site (also) uses capturing load events
- webmail overwritten by invisible gif
- Nexon uses IE's SCRIPT for .. event .. syntax
- N-Gage plugin sniffing does not give Flash to Mac Opera
- Broken Flash detection on some Nokia sites
- loading problems on pogo.com because of document.load in frameset event handler scope
- mouseover popups do not appear due to document.all sniffing
- sniffing on saab.com and saab.de excludes Opera
- Outdated HVmenu
- Outdated HVMenu
- Teletext focus fix
- Multiple fixes
- Ulead.com old Milonic menu
- United.com flight search problem: hidden images do not load, so no onload event
- Fixing map selection on viamichelin.com (event.button)
- Fixing map selection on visveg.no (event.button)
- Multiple fixes
- Washington Post picks wrong script branch because site thinks Opera is IE
- Westhost outdated OpenCube menu
- Multiple fixes
- Multiple fixes
- YNet article comments display fix
- redirects video requests to missing files if it sees "Opera"
- Yellow pages event capture fix
- Browser.js status and version reported on browser.js documentation page
- Viewing checks calls createElement with markup strings if document.all exists
- missing automatic resize of Flash object
- selects are reset if first option is removed in onchange
- Problem: selects are reset if an option is changed from onchange.
- AirFrance use getYear when they should use getFullYear
- SabadellAtlantico use getYear when they should use getFullYear
- Dancenter use getYear when they should use getFullYear
- bnz.co.nz use getYear when they should use getFullYear
- moneta.co.kr relies on IE quirks for CSS positioning
- Multiple fixes
- Multiple fixes
- ipop.co.kr SPAN should be inline-block
- hangame.com SPANs should be inline-block
- Multiple fixes
- Multiple fixes
- Live.com search disappearing menu fix
- prisjakt.nu capturing load events on back navigation
- bioware.com uses outdated HierMenus
- time.com script causes reload loop if UA contains "Windows CE"
- NBC.com video problems
- apple.com click tracking overwrites page
- ibest.com.br, wrong characters in markup cause broken images
- Orbitz new Function() issue workaround
- Namooya.com main flash does not appear
- hitta.se uses CSS filters to show "dot" if document.all exists
- NRG.co.il saving articles does not work
- Make "add feeds" dialog work in Y!Mail beta
- speed up back/forward navigation, ensure ads do not re-appear
- Nectar uses getYear where they should use getFullYear
- CSS included for Firefox but not Opera makes boxes clickable
- Multiple fixes
- Bloglines, designMode case sensitivity issue
- ford.com flash content does not start playing
- Nick.com flash detection fix
- Orkut, avatar upload failure at CommunityEdit.aspx
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 detection to make the menus use the correct code in Opera.
- "Milonic menus": changes browser detection to make the menus use the correct code in Opera.
- "HierMenus": changes browser detection so the menu is not disabled in Opera.
- "Likno AllWebMenus", builds earlier than 498; changes browser detection to make the menus use the correct code in Opera.
- "Menu/Pop Menu": (HV Menu); changes browser detection so the menu is not disabled in Opera.
- "Ultimate Dropdown Menu": changes browser detection so the menu is not disabled in Opera.
- "OpenCube menus": changes browser detection to make the menus use the correct code in Opera.
- "Coolmenus": changes browser detection to make the menus use the correct code in Opera.
- "DynAPI": changes browser detection to make the library use the correct code in Opera.
- "Transmenus": changes browser detection and code 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.


