Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I thought this was objective enough for SO, but it's too open-ended. Hopefully it won't be too objective here, because if so, I'm out of SX sites. Here it goes:

First, let me preface this by saying that I'm looking for a solid list of the browser-specific differences in javascript, which could be either:

  • When a browser handles a standard js in a non-standard or atypical way
  • When a browser uses proprietary javascript to accomplish the same or very similar task available via standard JS

So with the above in mind, if a browser offered a unique JS method that was not available via standard JS, that wouldn't really fit the list (unless the method later became standard and the original browser neglected to update to the standard).

I know there are lots of sources for these discrepancies, but I haven't found a solid "quirksmode" like list that I can turn to, so I'm hoping this question might become such a list. If someone knows of a really good source already, by all means tell me and consider the question closed.

The other goal I have in mind is a way to measure various js frameworks; is the discrepancy addressed and how well is actually handled.

The power of a good js framework like jquery is that it provides a means of writing code that all major browsers will treat the same, even if they don't use the same prototypes or differ in interpretation. The most obvious examples of this (that I know of) that jquery addresses well are:

Event Handling
Ajax Request and Response Handling
As far as I know, jquery does not have any methods that resolve/unify XPath requests (there's probably a plugin, but that's not the point).

It's these types of differences I have in mind. Differences so major that without a framework you end up writing two or more sets of the same basic code or differences so minor that you could lose a day debugging or refactoring because you have no way of knowing (without a handy list) that browser X treats a standard DOM property differently inside a for loop setup. The gremlins that on a good debugging day you finally catch, but no one else would even think to Google for when it comes their way.

I also don't think there is as much need for listing a quirk in IE3, Safari 1.1, IE for Mac or Camino or elinks. If you know some humdingers and want to provide it, it can't hurt, but don't mistake my use of "all" to mean "every last one, or the kid gets it!" I mean "all the big differences that a good framework should address" plus "all the differences a web developer should consider first when their code works in one browser but not another."

share|improve this question

closed as not constructive by Graham Lee, gnat, Walter, Tom Squires, NickC Mar 3 '12 at 16:27

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

found this site really helpful - quirksmode.org –  Imran Omar Bukhsh Mar 3 '12 at 7:40
Quirksmode is a great site, but it generally addresses differences in DOM and DOM Events, which a good framework already solves (thanks to sits like quirksmode). I'm interested more in the areas qm doesn't address and therefore someone else should. –  Anthony Mar 3 '12 at 7:54
I think you're looking for everything that this library wants to do, right? –  Florian Margaine Mar 3 '12 at 9:32
You actually want a full list of every JS difference between 5 browsers?! –  Tom Squires Mar 3 '12 at 12:58
There is Web Bug Track –  good_computer Mar 3 '12 at 12:58
add comment

1 Answer

There are a couple of tools for things like this.

Automated tables

Scripts that tell you compatibality of your current browser

The one massive list your looking for doesn't exist yet. Feel free to fork and update feature with tests for Host object compliance.

The other goal I have in mind is a way to measure various js frameworks; is the discrepancy addressed and how well is actually handled.

Don't bother, I'll safe your time, <opinionated> they are all shit </opinionated> 1. What you want are polyfills that normalize browser behaviour to be standards compliant.

The only rock solid polyfill is ES5 shim which "just works" in all browsers as long as you avoid the unshimmable subset of ES5

Then there are projects like the DOM shim (Disclaimer: I'm the author) which normalize the host environments, these projects still need work, contribute ;)

1: Frameworks aren't really shit, there are a couple out there that are OK, and are production ready today. But you don't need really need them

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.