[Skip to content]

Opera

This is what Opera.com looks like when you surf with your mobile!

You can surf on Opera.com with your mobile today. All you need to do is to download and install Opera Mini.

Opera Mini works on almost every phone, and it’s free!

View full site

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.

Current browser.js status: checking... How do I enable it?

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.
  • 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.

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 site patches. Site patching or upgrade notification may not take place if such proxies are required, but you may be able to check for updates manually.

Enabling browser.js

If you have changed settings, or changed the file itself, the browser.js feature may have become disabled.

  1. Go to the Browser JavaScript setting and change the value to 2.
  2. Click the "Save" button below the setting.
  3. Re-load this page and check if the status message at the top says browser.js is enabled.

If this doesn't work for you, the file may be corrupted. Please follow the instructions on "checking for updates manually" in the next section.

Checking for updates manually

Opera downloads the file automatically once a week, but if you want to make absolutely sure you have the latest file you can follow these steps:

  1. Go to the Browser JavaScript setting and change the value to 1.
  2. Click the "Save" button below the setting.
  3. Use Help > Check for updates in Opera's menu bar.

Opera may tell you no new Opera version is available, but it will still check for a new version of the browser.js file.

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.

Please note: Some of the fixes apply to specific Opera versions, or on specific platforms only.

Site fixes

saab
  • sniffing on saab.com and saab.de excludes Opera
www.opera.com
  • Browser.js status and version reported on browser.js documentation page
bbc.co.uk
  • Mobile BBC should default to mobile view
fileplanet.com
  • Fileplanet.com sniffing blocks Opera
nmviewogc.cr.usgs.gov
  • National Map Viewer on USGS relies on Netscape detection for functionality
windowsmedia.com
  • Mobile Windowsmedia site does not trigger mobile view
americanexpress
  • AmericanExpress blurs form elements on click
amazon
  • Workaround for a layout bug in opera that only affects older versions, causing the search field on amazon.com and amazon.de to becoe 3 pixels wide.
cang.baidu.com
  • cang.baidu.com for Baidu SouCang can't display saved items
epa.qld.gov.au
  • epa.qld.gov.au site uses capturing load events.
lotteimall.com
  • fixes a spurious alert on lotteimall.com
slashdot.org
  • Removes large focus areas covering the article area and the columns to the right on slashdot.org
tianya.cn
  • Fix missing scrollbars and misplaced text.
aaa.com
  • Sniffing on aaa.com prevents zip code search
anz.com
  • ANZ online bank form action URLs are incorrectly decoded
aol
  • AOL
dell
  • browser sniffing on support.dell.com
dfdsseaways
  • DFDS calendar is 1900 years in the future
ebay
  • eBay: can not upload images
  • eBay: speed up back+forward navigation
  • Cannot use ebay.com dropdown with virtual pointer
  • Remove global click listeners for mini on ebay
  • ebay.fr hangs, Opera doesn't support option node passed to SELECT.remove()
  • eBay re-type validation depends on keypress event support
ems.com.cn
  • Menus on ems.com.cn disappear too quickly
google
  • Google calendar date selection fails due to order of blur and mousedown events
  • Google Reader wraps long feed titles
  • V shortcut in Google reader opens blank page
  • Google codesearch results source code rendered white-on-white
  • Google navigation bar overlaps if localised text is too long
hp.com
  • HP shopping site is designed for smaller fonts
ibm.com
  • IBM driver download has HTML comments inside SCRIPT tag, breaks parsing
icicibank
  • ICICI online bank form action URLs are incorrectly decoded
ogame.org
  • Ogame.org layout issue
scandinavian.net
  • Selects are reset if first option is removed in onchange
sony
  • UDM on sony.com breaks if insertRule throws exceptions
t-online.de
  • video problems on T-online.de
  • video problems on T-online.de, VOD section
  • video problems on T-online.de, WMP license installation
  • video problems on T-online.de, no window.external detection
tom.com
  • document.write() overwrites document on tom.com
ulead
  • Ulead.com old Milonic menu
yahoo
  • Yahoo!
able.co.jp
  • able.co.jp uses capturing event listeners
addynamix.com
  • Fixes panning on addynamix.com
allabout.co.jp
  • Works around script scheduling bug on AllAbout
allegro.pl
  • Fix randomly ocurring script scheduling freeze on allegro.pl
amazon.com.cn
  • Menus on amazon.com.cn disappear too quickly
ameba.jp
  • Handle popup submit for products where popups are a bad idea
  • Enable blog post editor on ameba.jp
  • Work around Opera bug where second BR tag overwrites newly inserted IMG
  • Show the "tags only" editor, which is the only supported one
anycall.com
  • Hide popup ad that can't be closed and blocks most content on the site
apple.com
  • Apple.com is written for higher resolutions than a TV
apple.viamichelin.com
  • Text on Apple store locator page is misaligned and overlapping
att.com
  • Browser sniffing causes failed Flash detection
  • ATT / Bellsouth browser sniffing
barnesandnoble.com
  • Barnes&Noble uses "required" attributes on elements that aren't required
bbs.kafan.cn
  • Setting innerHTML to badly nested markup breaks forum layout on bbs.kafan.cn
bbs.pcpop.com
  • Page loads blank due to misnested forms
bcbssc.com
  • Blue Cross SC looks up named elements with getElementById()
belastingdienst.nl
  • enabling an alternate stylesheet while it is still loading is ignored
betfair.com
  • Betfair relies on firstChild defined on attribute nodes
bhaskar.com
  • TATA: Align text in cells to left in SSR Mode
bioware.com
  • bioware.com uses outdated HierMenus
blogger.com
  • Blogger: browser detection prevents WYSIWYG editing
  • Blogger: Should distinguish AltGr and Ctrl
bnz.co.nz
  • bnz.co.nz use getYear when they should use getFullYear
bookryanair.com
  • Make Opera's built-in WF2 validation ignore required attributes on bookryanair.com
britannica.com
  • Prevent overwriting document with stats graphic on britannica.com
britishairways
  • Prevent britishairways.com from reloading the page on resize
  • britishairways.com hides calendar behind IFRAME
  • Makes calendar work in spite of unexpected order of mouse events
budget.com
  • Budget.com: menu appears behind IFRAME "shim"
buienradar.nl
  • Fix positioning after clicking map on buienradar.nl
cajamadrid.es
  • Caja Madrid hides login form by CSS mistake
capitalone.com
  • CapitalOne login fails - cross-domain access on https disallows setting location
cdec-sic.cl
  • Old HierMenus on cdec-sic.cl
cdon
  • Shopping cart not displayed
chaseonline.chase.com
  • chase.com field refocus from onkeypress-problem
cheaptickets.com
  • Cheaptickets new Function() issue workaround
china-pub.com
  • Work around window.event getter bug
chinatimes.com
  • Prevent unexpected back navigation on chinatimes.com
chosun.com
  • Morningplus.chosun.com misplaced content
clearwire.com
  • PIONER-268 Flash on clearwire.com doesn't display on homepage
continental.com
  • Continental.com document.activeElement fix enables airport choice popup
cs.kddi.com
  • Prevent KDDI site's "anti-multiple-tabs" script from closing window randomly
danawa.com
  • Iframe content height is too small and not expanded on danawa.com
dancenter.com
  • Dancenter use getYear when they should use getFullYear
dcf-access.dcf.state.fl.us
  • Access Florida invalid markup problem
dcinside.com
  • Fixes having scrollbars appear when panning on dcinside.com
deviantart.com
  • deviantart.com prevents mousedown on file inputs, making it impossible to select files
  • Work around bug that breaks Deviantart categories menu
digg.com
  • script scheduling trouble on digg.com
diodeo.com
  • Offsets a very noticeable image in the header of diodeo.com
docs.google
  • Can't select text in Google PDF viewer
docs.google.com
  • Google Docs : Redirecting to mobile version
douane.nl
  • enabling an alternate stylesheet while it is still loading is ignored
drudgereport.com
  • Font-related fix for drudgereport.com
elkjop.no
  • Elkjop UI breaks on Nintendo Wii because select-multiple by default doesn't un-select other options on click
ent.sina.com.cn
  • Wrapping content in NewStars section
enter.nifmail.jp
  • Nifmail web mail bypass browser blocking
espn.go.com
  • espn.go.com: fix search box overlap
facebook.com
  • Facebook: Enable posting to discussion groups
  • Facebook.com: search for groups
  • Facebook: fix comment forms
  • Facebook.com: disable "presence" bar
fedex.com
  • FedEx.com mangles tables by turning TDs into block elements
forbes.com
  • Forbes layout ruined because linked stylesheets in body are ignored after DOM manipulation
  • chained loading tries to use both onreadystatechange and onload, only one of them is required
  • <table><form><tr> is invalid, element->form associations are not kept during DOM changes
foxnews.com
  • Foxnews.com: Fix captions
geoaccess.com
  • BlueCross browser sniffing prevents insurance search
grainger.com
  • ignore document.onload on grainger.com
groups.google
  • Opera's interpretation of 100% height isn't high enough for Google Groups
gucci.com
  • gucci.com start page fails to appear on small screens due to typo in script
ibank.isb.ru
  • browser sniffing breaks ibank.isb.ru
icelandair
  • jQuery script scheduling trouble on Icelandair
icicidirect.com
  • styling INPUT with text-transform can confuse users
ingdirect.com.au
  • Make Opera's built-in WF2 validation ignore required attributes on ingdirect.com.au
  • ING Direct login issues
iple.com
  • Blocks floating flash ad on iple.com
irishferries.com
  • Unexpected text nodes in document.all breaks booking
ironmaiden.com
  • fix disappearing menu on ironmaiden.com
isbank.com.tr
  • fixing navigation menu on isbank.com.tr
  • Preventing CSS filter errors on isbank.com.tr
  • fixing keypress handler on isbank.com.tr
klm.com
  • KLM uses Gecko-specific originalTarget
kr.msn.com
  • head layout broken on kr.msn.com
kubuntu.org
  • Nested z-index hides content
lgmobile.com
  • LG Mobile Flash does not load as expected because of missing type attribute
m.reference.com
  • Mobile reference.com uses generic doctype
m.zdnet.com
  • Mobile zdnet.com should be displayed in mobile view
mail.163.com
  • Default to simple html version on mail.163.com
  • Fix for hidden overflow text on 163.com
mail.google
  • GMail deletes messages on End key presses
  • GMail chat: Can not go "off record" (Opera bug workaround)
  • GMail chat: A link to "#" in a JS-generated document must not cause a re-load
  • GMail: prevent navigation menu on the left in RTL interface
mail.google.com
  • GMail detects mobile version as desktop version if opera.version() says 9.5
  • Hides supported browser complaint in header of mail.google.com
mail.live.com
  • Fix drag and drop in Hotmail
  • define document.selection.empty in Hotmail (part of drag-and-drop fix)
  • Mispositioned sprites due to missing CSS
  • Detecting style.filter causes missing opacity effects
  • Borders on folders remain after dragging things past them
  • Defining a setter causes difference between point and bracket notation for ES properties, breaks panel resize
  • Handle setting style.left/top to null
  • Opera doesn't support col-resize/row-resize cursors.
  • Identify as Opera to the client-side sniffer
  • Correct browser detection cookie
  • Ensure a font with bold/italic variants is default for editor on Mac
  • Fixes downloading attachments in Hotmail
  • Emulating IE's cssText property on style sheets
  • Fake designMode for Hotmail, hides rich text UI
  • Hotmail: enable scrolling of BODY
  • To-button does not bring up contacts list
  • Fake getters/setters support
  • Work around browser warning
  • Fixes downloading attachments in Hotmail for O10.
  • Fake oncontextmenu support on Hotmail
  • Hotmail uses lookupGetter on prototypes, not instances
  • It's usually not necessary to define properties that are already supported with getters and setters.
  • Resize function causes rendering loop
  • redefine document.selection with live.com's compat-layer version
  • Adding editor area styling that is missing due to browser sniffing
mail.yahoo.com
  • Disable Rich text editor on mail.yahoo.com
makemytrip.com
  • MakeMyTrip search fails
  • MakeMyTrip search fails
mapion.co.jp
  • Missing whitespace between links expands table on mapion.co.jp
maps.bing.com
  • Loading Atlas libraries depends on immediate load events for scripts
maps.google
  • XMLHttpRequests sometimes get stuck if script was in cache
  • Enable alt-click to show context menu in map
  • avoid horizontal scrolling on maps.google.com
  • Google maps eval callback
maps.ubiest.com
  • Ubiest.com uses CSS filters if document.all exists
marktplaats.nl
  • Can't add article to favourites because setting link.search has no effect
maserati.com
  • Allow access to whole page on maserati.com
mb.softbank.jp
  • Softbank shop uses reserved variable name parent
mcafee.com
  • McAfee.com menu requires navigator.appName to be Netscape
microsoft.com
  • Layout fix for microsoft.com
millenet.pl
  • Semicolon insertion fails after do..while() conditional
mixi.jp
  • Mixi.jp: correct layout
mk.co.kr
  • mk.co.kr requests a lot of additional javascript after checking document.all - customer requested fix for load time
mobile.answers.com
  • Mobile answers.com displayed as desktop site
mobile.handango.com
  • mobile.handango.com pages are displayed in overview mode, since they are declared without doctype.
mobile.microsoft.com
  • Mobile microsoft.com should be displayed as a mobile page
mobile.orange.ch
  • Fix for table align making tables behave as inline on mobile.orange.ch
mobile.youporn.com
  • Mobile youporn.com uses generic doctype
moneta.co.kr
  • Renames method on moneta.co.kr (was named goto), also hides flash advertisements that cover content
  • moneta.co.kr relies on IE quirks for CSS positioning
  • Gets rid of flash that is mispositioned on moneta.co.kr
  • Hides background image in search bar on moneta.co.kr
monster
  • Monster category tree broken by their selectNodes function overwriting .text on nodes
msnbc.com
  • MSNBC sniffing hides Flash content
n-gage.com
  • N-Gage plugin sniffing does not give Flash to Mac Opera
namooya.com
  • Namooya.com main flash does not appear
nasdaq.com
  • Fix Nasdaq overlapping content
nba.com
  • load event not triggered when expected in video section
nbc4.tv
  • NBC4.tv uses capturing load events
nbcolympics.com
  • NBC Olympics site uses capturing load events
nectar.com
  • Nectar uses getYear where they should use getFullYear
netian.com
  • Moves the absolutely positioned SMS div on netian.com (after logging in)
netlog.com
  • netlog.com: Remove site chat/presence bar
netpia.linkprice.com
  • Clears popups that are visible after loading subpages on netpia.linkprice.com
news.bbc.co.uk
  • Fix footer menu on news.bbc.co.uk
news.msn.co.kr
  • news.msn.co.kr navigation bar is offset from the page
news.qq.com
  • Requires add() method on SELECT elements
  • weather.news.qq.com expects getElementById() to find named elements
  • weather.news.qq.com uses document.all for browser detection
  • qq.com uses IE-style CSS filters
news.sina.com.cn
  • Unexpected CDATA escape breaks JS parsing
nick.com
  • Nick.com flash detection fix
nrg.co.il
  • NRG.co.il saving articles does not work
o2active
  • o2active.de, making sure narrow centered column does not appear off-screen
orbitz.com
  • Orbitz new Function() issue workaround
orkut.com
  • can't change orkut avatar picture
  • orkut avatar image crop does not happen because of timing issue
  • Fix for uploading pictures on orkut.com
  • Fix iframe width on orkut.com
ota.getvzappzone.com
  • Verizon Wireless mobile app zone site should default to mobile view
pda.naver.com
  • pda.naver.com appears half-offscreen
photobucket.com
  • Photobucket menus disappear too quickly
pluginfree.com
  • DNP Pluginfree Viewer fallback to Netscape version for Opera
poczta.onet.pl
  • poczta.onet.pl RTE broken in 9.50
pogo.com
  • Java detection fails on pogo.com
  • Loading problems on pogo.com because of document.load in frameset event handler scope
portalaz.com.br
  • fix disappearing menu on portalaz.com.br
prisjakt.nu
  • prisjakt.nu capturing load events on back navigation
qzone.qq.com
  • Browser sniffing during login makes site expect Opera's old script loading implementation on qq.com
rabobank.nl
  • Rabobank cancels t keypress
redfin.com
  • Solve Dojo script scheduling trouble on redfin.com
rent.toyota.co.jp
  • Set window.open's default URL to about:blank on rent.toyota.co.jp
rr.com
  • Text-shadow not properly specified on rr.com
sabadellatlantico.com
  • SabadellAtlantico use getYear when they should use getFullYear
salesforce.com
  • Downloading documents on salesforce.com runs into too strict anti-drive-by-install security
  • Salesforce runs into HTML5's data looking for window.data
samsungmobileusa.com
  • Samsung USA flash detection fix
sayclub.com
  • hides id and password background images that are text input backgrounds
seb-bank.de
  • SEB bank prevents typing certain keys
sfc.jp
  • noscript content shows on sfc.jp
sfile.ydy.com
  • Avoid manipulating broken Discuz! markup on sfile.ydy.com
shoptime.com.br
  • Fix for not possible to type since Opera does not support charCode
show.co.kr
  • Pre-filled text as INPUT background not cleared on focus
shutterfly.com
  • Array splice throws on 0-length arrays, breaks Shutterfly.com
sina.com.cn
  • Layout fix for Sina.com.cn
siren24.com
  • ActiveX installation page redirect on siren24.com due to sniffing limitation on redirect script
sogou.com
  • Sogou.com uses window.MouseEvent
  • hide SVG's style.filter property from script on map.sogou.com because it thinks we are IE
spaces.live.com
  • Overriding spaces.live.com browser sniffing
  • Make Range.prototype.insertNode automatically import nodes from other documents
sperrysoftware.com
  • Nested tables with 100% height are not laid out as expected, menu is pushed down
sports.donga.com
  • Blocks floating flash ad on sports.donga.com that cannot be closed
star.moneytoday.co.kr
  • Clicks on a link to display the front page story in an iframe on star.moneytoday.co.kr
status.xiaonei.com
  • Allow the comments to be visible
sun.com
  • Menu entries off-screen on sun.com due to font size
surveymonkey.com
  • Layout fix for surveymonkey.com
sytadin.fr
  • Sytadin.fr IFRAME resize script detects Opera
tam.com.br
  • Fixing TAM form element reference issue
taobao.com
  • Fix Taobao search layout overlap issue
tdwaterhouse.ca
  • tdwaterhouse.ca login fails - cross-domain access on https disallows setting location
teletekst.nos.nl
  • Teletext focus fix
tickets.com
  • Scripts are not allowed to use reserved identifier "top"
time.com
  • time.com script causes reload loop if UA contains "Windows CE"
tiscali.it
  • Allows some frame nesting on web.tiscali.it
tistory.com
  • two login buttons on tistory.com
toeslagen.nl
  • enabling an alternate stylesheet while it is still loading is ignored
trafikanten.no
  • Trafikanten.no: Unclickable wrapped menu below frame fold
tudou.com
  • tudou login doesn't work because it expects input type=button to support .checked
tuenti.com
  • Problems submitting messages and comments on tuenti.com
  • Tuenti.com thinks images are not loaded if we don't send them a load event. This only happens to visible images.
unicaja.es
  • unicaja.es cannot use reserved frame reference words as variables
united.com
  • United.com flight search problem: hidden images do not load, so no onload event
us.etrade.com
  • Working around E*Trade site's security policy violation
usairways.com
  • USAirways is not compatible with WF2 spec required attribute
usatoday.com
  • Work around browser sniffing to make videos appear
veoh.com
  • Prevent Omniture-overwritten documents on veoh.com
vgtv.no
  • Work around browser sniffing for Move media player
viacom.com
  • Tweaked SWFObject on viacom.com creates constant document reflows
viddler.com
  • Prevent re-execution of scripts on viddler.com
video.nbc.com
  • NBC.com video problems
vkontakte.ru
  • Fix for updating status on vkontakte.ru
  • Enables searching for people on vkontakte.ru
wachovia.com
  • Viewing checks calls createElement with markup strings if document.all exists
walla.co.il
  • Walla.co.il odd CSS styling causes display problems. Bugs 184398, 184399, 206793
  • New mail UI on Walla requires IE-style event capture
  • Walla workaround for white-space issue
walmart.com
  • Walmart hides "find in store" popup unintentionally
  • Fix navigation bar on walmart.com
wap.flycell.com.br
  • Avoid CSS input validation of hidden inputs
wap.smartone-vodafone.com
  • Re-initialize page on back to make plugins work correctly
wapp.verizon.net
  • Verizon mobile webmail service should default to mobile view
weather.com
  • fix disappearing menu on weather.com
  • Fix mouse event order of sign in link
westjet.com
  • Westjet browser sniffing causes reload loop
wetter.rtl.de
  • Font size adjustments to avoid overlapping on wetter.rtl.de
wikimapia.org
  • Faking oncontextmenu support on wikimapia
win.mail.ru
  • Mail.ru: Allow addition from address book
worldofwarcraft.com
  • Mouseover popups do not appear due to document.all sniffing
www.etrade.wallst.com
  • Working around E*Trade site's security policy violation (second part)
www.google.com
  • On narrow screens Google's navigation bar can wrap and cause overlap
www.ojogo.pt
  • Fix iframe width on ojogo.pt
www.price-drop.tv
  • price-drop.tv: enable login button
yam.de
  • iframe layout fix for yam.de
yellowpages.com.au
  • Yellow pages event capture fix
youtube.com
  • Fix bad painting of dropdown menus
zdnet.com.com
  • ZDnet video site plays non-existing files if browser is Opera
zoover
  • fix disappearing menu on zoover sites
aumypage.duogate.jp
  • au my page XMLHttp re-use issue
live.vodafone.com
  • Display Vodafone's Google search site in Normal Zoom by default
m.espn.go.com
  • Content goes over screen width on m.espn.go.com
mobile.nytimes.com
  • Logo image goes over screen width on mobile.nytimes.com
mobile.vzwapp.com
  • VZW mobile start page has colored span elements that overlap images
  • VZW mobile portal does not trigger mobile view
my.tnt.com
  • force all images to load before printing TNT delivery sheet
wap.smart.com.ph
  • WAP site on smart.com.ph serves XHTML content without xmlns
  • Automatically re-parse XHTML content with parse errors as HTML
weather-mobile.weatherbug.com
  • Banner goes over screen width on weather-mobile.weatherbug.com
xhtml.emome.net
  • emome.net wap portal does not trigger mobile view
http://www.dowwallpaper.com/index.htm
  • redirect to frame content to prevent rendering error for small buffer size
/sample_lr.html
  • Sun Webmail fails to set document.domain due to browser sniffing
bing.com/maps/
  • Fake oncontextmenu support
http://www.google.com.tw/
  • Autocomplete makes typing very slow on google.com.tw
https://www.bookryanair.com/skylights/cgi-bin/skylights.cgi
  • Selects are reset if an option is changed from onchange.
legolandholidays.dk
  • Fix to show relative positioned table contents
Maconomy/MaconomyPortal
  • Fix unload form submit behavior on Maconomy portals
wp-admin
  • Wordpress Admin prev/next link styling makes them unclickable

Patched scripts

  • Old versions of the following popular script libraries, 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.
    • "TinyMCE" 2.x versions: works around a bug that prevents enabling editing mode. 3.0.x versions: works around an issue that breaks the enter key
  • working around incompatibility with prototype - argument extends array but not all methods work correctly
  • Prototype requires function.toString to return a unique string per function
  • The required attribute does not take the value false according to WebForms2 - remove "required=false" from form elements
  • The constructor property of DOM nodes should not be Object
  • Constructor property of event should be Event interface
  • Remove non-breaking spaces inserted by rich text editing bug
  • Fake support for MozOpacity properties on style object
  • Generic JS library patches
  • Generic prepareFakeDesignMode
  • Compatibility layer for Google Gears initialization script
  • Router configuration SCRIPT in OPTION tag fix
  • PDF security patch
  • Generic patch to support window.scrollX, window.scrollY
  • document.domain can not be set to last TLD
  • NHK and iui.js relies on array indexOf
  • Generic fix for hidden password boxes
  • Asia-region Generic Patches
  • Support for contentEditable and designMode
  • Generic patches (Windows mobile)
  • Make sure plugin sniffers detect the correct Flash API version

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 report it in our bug tracking system.

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. A quicker way to do this is to access opera:config#Browser JavaScript, since toggling this setting in opera:config does not require restarting Opera.