The Wayback Machine - https://web.archive.org/web/20070223105842/http://www.opera.com:80/docs/browserjs/

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 updates.
  • 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.
  • The file will be stored in Opera's profile folder. The Help > About 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 (Tools > Advanced > JavaScript console) saying that the page has been changed.

Site fixes

aol.com
  • Multiple fixes
fotocenter.aol.de
  • AOL: browser warnings for various features of aol.de
barnesandnoble.com
  • Barnes&Noble uses "required" attributes on elements that aren't required
blogger.com
  • Multiple fixes
reviews.cnet.com
  • CNet videos: document.write adds a script that depends on variables defined later
dell
  • Multiple fixes
dowjones.com
  • dowjones.com: No styling when ID as Opera, menus under Flash
eatsleepsport.com
  • eatsleepsport.com uses SCRIPT for.. event.. syntax, never stops loading
emirates.com
  • Emirates.com: broken OpenCube
fes.ebank.co.jp
  • Multiple fixes
ebay
  • Multiple fixes
epa.qld.gov.au
  • epa.qld.gov.au site uses capturing load events.
fileplanet.com
  • Fileplanet.com sniffing blocks Opera
foxnews.com
  • FoxNews: sniffing prevents Flash video features from functioning
mail.google
  • Multiple fixes
budget.com
  • Budget.com: menu appears behind IFRAME "shim"
icicidirect.com
  • text-transform on INPUT is a bad idea
klm.com
  • KLM uses Gecko-specific originalTarget
mail.lycos
  • Lycos webmail attachment page re-loads
makemytrip.com
  • Multiple fixes
mediaworld.it
  • Mediaworld outdated HierMenu
microsoft.com/windowsvista/features
  • MS styling uses direction: to position things ?!?
music.download.com
  • Fixing audio samples, old overlibwms library only detects Opera7
nbc4.tv
  • NBC4.tv uses capturing load events
nbcolympics.com
  • NBC Olympics site (also) uses capturing load events
mail.netscape.com
  • webmail overwritten by invisible gif
nexon.com
  • Nexon uses IE's SCRIPT for .. event .. syntax
n-gage.com
  • N-Gage plugin sniffing does not give Flash to Mac Opera
nokia
  • Broken Flash detection on some Nokia sites
pogo.com
  • loading problems on pogo.com because of document.load in frameset event handler scope
worldofwarcraft.com
  • mouseover popups do not appear due to document.all sniffing
saab
  • sniffing on saab.com and saab.de excludes Opera
sharekhan.com
  • Outdated HVmenu
synaptics.com
  • Outdated HVMenu
teletekst.nos.nl
  • Teletext focus fix
t-online.de
  • Multiple fixes
ulead
  • Ulead.com old Milonic menu
united.com
  • United.com flight search problem: hidden images do not load, so no onload event
viamichelin.com
  • Fixing map selection on viamichelin.com (event.button)
visveg.no
  • Fixing map selection on visveg.no (event.button)
walla.co.il
  • Multiple fixes
washingtonpost.com
  • Washington Post picks wrong script branch because site thinks Opera is IE
westhost.com
  • Westhost outdated OpenCube menu
yahoo
  • Multiple fixes
mail.yahoo
  • Multiple fixes
ynet.co.il
  • YNet article comments display fix
zdnet.com.com
  • redirects video requests to missing files if it sees "Opera"
yellowpages.com.au
  • Yellow pages event capture fix
http://www.opera.com/docs/browserjs/
  • Browser.js status and version reported on browser.js documentation page
wachovia.com
  • Viewing checks calls createElement with markup strings if document.all exists
skysports.com
  • missing automatic resize of Flash object
scandinavian.net
  • selects are reset if first option is removed in onchange
https://www.bookryanair.com/skylights/cgi-bin/skylights.cgi
  • Problem: selects are reset if an option is changed from onchange.
airfrance
  • AirFrance use getYear when they should use getFullYear
sabadellatlantico.com
  • SabadellAtlantico use getYear when they should use getFullYear
dancenter.com
  • Dancenter use getYear when they should use getFullYear
bnz.co.nz
  • bnz.co.nz use getYear when they should use getFullYear
moneta.co.kr
  • moneta.co.kr relies on IE quirks for CSS positioning
joins.com
  • Multiple fixes
jobkorea.co.kr
  • Multiple fixes
ipop.co.kr
  • ipop.co.kr SPAN should be inline-block
hangame.com
  • hangame.com SPANs should be inline-block
chosun.com
  • Multiple fixes
bugs.co.kr
  • Multiple fixes
search.live.com
  • Live.com search disappearing menu fix
prisjakt.nu
  • prisjakt.nu capturing load events on back navigation
bioware.com
  • bioware.com uses outdated HierMenus
time.com
  • time.com script causes reload loop if UA contains "Windows CE"
video.nbc.com
  • NBC.com video problems
apple.com
  • apple.com click tracking overwrites page
ibest.com.br
  • ibest.com.br, wrong characters in markup cause broken images
orbitz.com
  • Orbitz new Function() issue workaround
namooya.com
  • Namooya.com main flash does not appear
hitta.se
  • hitta.se uses CSS filters to show "dot" if document.all exists
nrg.co.il
  • NRG.co.il saving articles does not work
rec.feeds.yahoo
  • Make "add feeds" dialog work in Y!Mail beta
idg.se
  • speed up back/forward navigation, ensure ads do not re-appear
nectar.com
  • Nectar uses getYear where they should use getFullYear
royalmail.com
  • CSS included for Firefox but not Opera makes boxes clickable
myspace.com
  • Multiple fixes
bloglines.com
  • Bloglines, designMode case sensitivity issue
ford.com
  • ford.com flash content does not start playing
nick.com
  • Nick.com flash detection fix
orkut.com
  • 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.