Site compatibility: When being “too compatible” causes problems

The site patching blog had a new update last week about a type of problem that seems all too common:

For some time we have seen compatibility issues because Opera supports both addEventListener and attachEvent. In some cases this causes scripts to be run twice, in other cases attachEvent is simply used as an IE-detector, causing Opera to run the wrong codepath or get IE-only stylesheets or other bad things.

So what are you going to do when you are, in a way, being "too compatible"?

Well, with Browser JS we can test possible changes to Opera's core while still being able to quickly remove the changes if they turn out to worsen things.

But once again, this shows how incredibly complex site compatibility is. There's no silver bullet. Even trying to be "too compatible" can cause problems!

Advertisements

19 thoughts on “Site compatibility: When being “too compatible” causes problems

  1. What I'd like is for Opera to align itself more towards other browsers with regard to keyup/keypress issues, and the newlines counting inside textareas (value.length vs selection/caret properties). Opera11 could be a good chance to "break" some old stuff and play nicer with other browsers, rather than trying to emulate old IE junk at the same time as supporting newer APIs.And yes, I know in some cases the others are arguably wrong, and maybe even violating the standard, but at the end of the day what matters to people is being able to write stuff that doesn't break in every second browser.

  2. Originally posted by Seldaek:

    What I'd like is for Opera to align itself more towards other browsers with regard to keyup/keypress issues

    Its been worked on that in the background. But its a huge effort to put into practice.

  3. Originally posted by Seldaek:

    What I'd like is

    Yay, another smart guy with a silver bullet solution. It's so easy to come up with amazing solutions, isn't it?

  4. Why even support the proprietary attachEvent? No other browser, apart from IE and Opera supports this. Other browser also don't have no plans implementing this.This just causes headaches for developers.

  5. Originally posted by pepejeria:

    Why even support the proprietary attachEvent?

    Why even support the proprietary document.all? Could it be to fix compatibility problems?

  6. in other cases attachEvent is simply used as an IE-detector

    browser detection == FAIL. The solution for devs is to stop detecting IE (ff/opera/chrome/safari) and start detecting functionality. Future proofing ftw.Originally posted by prd3:

    Why even support the proprietary document.all?

    That's legacy stuff. I think we can move on now. We have slowly removed IE compatibility and hopefully it will continue. We ditched document.selection, fixed document.getElementsById and document.getElementsByName (testcase – first 2), hid document.all (which still causes bugs and perhaps can be removed now), and now this. We are slowly making our way towards shrugging off the old stuff.

  7. Originally posted by fearphage:

    That's legacy stuff. I think we can move on now. We have slowly removed IE compatibility and hopefully it will continue. We ditched document.selection, fixed document.getElementsById and document.getElementsByName (testcase – first 2), hid document.all (which still causes bugs and perhaps can be removed now), and now this. We are slowly making our way towards shrugging off the old stuff.

    Sure. Point being that you don't just do that stuff randomly, and especially not everything at once because every little change can have huge consequences. Those consequences need to be figured out before Doing anything.

  8. Originally posted by kentsopera:

    I hope that Opera 11 will continue to recognize Java installation in Program Files, and consistently not require the Java Plug-in.

    In case you didn't notice, Opera now uses the Java plugin exclusively. There's no other way to use Java.

  9. I hope that Opera 11 will continue to recognize Java installation in Program Files, and consistently not require the Java Plug-in. Reason, since 10.5 through 10.62 the new DnBNOR login protocol requiring one's personal, national PIN number did not work and just spinning for Java. As a result one had to go to another browser or trick the logon to bring up the former logon protocol which is less secure. Opera 10.63 apparently remedied the problem and works correctly. I have been a Opera user for 15 years and like the access to everything from one place called OPERA. :happy:

  10. Oh? I read that it did not want the plug-in installed within Opera's Installed Folder called "plugins" – I'll see how 11.0 official release reacts, right now it works as stated, without a Java Plug-in, but Opera "plugins" has cross references to my Jave installation from -Opera plugin folder:Java Deployment Toolkit 6.0.210.7application/java-deployment-toolkit C:Program FilesJavajre6binnew_pluginnpdeployJava1.dll ANDJava(TM) Platform SE 6 U21 C:Program FilesJavajre6binnew_pluginnpjp2.dllto be clear, npdeployJava1.dll & npjp2.dll Java plug-ins are in Java folder not Opera's "plugins"; previously, such plug-ins along with those from Netscape and Firefox resided in Opera/plugins.It makes sense to me, inasmuch as Java updates are Opera independent, but accessableAppreciate your interest and concern :happy:

  11. The "np" indicates a netscape-compatible plugin. The way I hear it, Opera formerly used the system Java runtime through an integration API. And now Opera uses the netscape-plugin java access framework. The fix in 10.63 means they probably repaired some issue with binding the plugin's protocol to a network port.

  12. That sounds reasonable Cutting Spoon, since Java returned to normal either as a result of my sending in the failure or as you suggested at the end of your comment, but with 10.63 and my removal of the Java-Netscape NP type plug-in resident in my Opera/plugins, I had normal access to my Net Bank as prior to 10.50, and the banks new logon security protocol. :happy:

  13. Originally posted by prd3:

    Why even support the proprietary document.all? Could it be to fix compatibility problems?

    You seem to be missing the point. Supporting attachEvent does not make Opera more compatible. Other browsers don't support it and they do just fine.

  14. Originally posted by pepejeria:

    You seem to be missing the point. Supporting attachEvent does not make Opera more compatible. Other browsers don't support it and they do just fine.

    It does (or did) indeed make Opera more compatible. I doubt they added it for the fun of it.

  15. How come then that more websites Originally posted by Slamdex:

    It does (or did) indeed make Opera more compatible.

    Do you have any study to back this up or are you just assuming now?

  16. Originally posted by pepejeria:

    You seem to be missing the point. Supporting attachEvent does not make Opera more compatible. Other browsers don't support it and they do just fine.

    Of course it makes Opera more compatible. That's why it was added! Why on earth would they add it otherwise? Are you drunk? :troll:

Comments are closed.