Both of these claims are, of course, completely false. …
Opera and The Real Web
Now, then, having established the fact that Opera does indeed handle bad and non-standard code, as much any browser used for today's Web pages, why do some pages still fail in Opera?
Who's to blame?
First of all, Opera, like all software, is not perfect. It can make mistakes! If a site doesn't work, it could be because of a bug in Opera, so please report problems so that they can be looked into!
However, in my experience the single biggest cause of non-working sites in Opera today is browser sniffing. What this means is that if a site isn't working, it is likely because it detects Opera, and then sends it code which differs from what the other browsers are getting. If only Opera had gotten the same as everyone else, it would have worked! This means that it is not Opera which fails because it has limited capabilities, or because Opera Software is stubborn. It is the site which actively looks for Opera, and then sends it broken code, or simply leaves out important parts.
Why they do this, I do not know. Some sites just give you a "browser not supported" page, while others fail silently, not telling you anything. They do their trickery in the background, giving the impression that it is Opera which is lacking, when it is in fact the people who coded the page who fouled up. (If you want a more technical explanation, have a look at Andrew Gregory's page about browser sniffing.)
I will avoid technical explanations, and simply explain how you can verify this yourself. By using a proxy to completely hide the fact that you are using Opera, the page will send you the same code other browsers get. Now, the menus will work fine in Opera! If you have the time, you can verify this yourself by using the Proxomitron to identify as Firefox (thanks to Andrew Gregory again).
The bottom line is that if only MSNBC had sent the same code to Opera as everyone else gets, it would have worked fine.
Opera Software is actively working on contacting sites that block Opera, to convince them to make the often tiny adjustments necessary to make it work in Opera. A large and well known webmail provider fixed their broken pages by replacing "Opera" in their scripts with "xyz". It was a hack, but it worked.
You, too, can help! If a site doesn't work in Opera, contact the webmaster, and tell other Opera users about it.
In some cases, short term solutions are necessary to make sure important sites work, even if they have decided to block Opera. The next version of Opera, 8.0, will have two interesting features to help compatibility:
- A "Report a site problem" menu which lets you report sites that don't work in Opera
- An automatically updated list of sites that require normal or absolute spoofing (completely hiding Opera)