Browser compatibility
Anyone who has done any web development at all has quickly developed a very deep, profound, and thorough hatred towards the way different browsers interpret and render the same code. However, if we dig a bit deeper into this phenomena, and look for the root cause of these discrepancies, it will surprise some people to realize that the problem is not what it seems. While finding the cause for rendering differences is easy, for example, some browsers define the box model differently, finding the cause for differences in code may not be so clear. Surprisingly, some developers seem to despise the JavaScript language because some code runs differently in some browsers. However, the truth of the matter is that JavaScript is actually quite portable, and its API is quite stable and consistent.
Believe it or not, most of these headaches are caused by the DOM API, and not JavaScript itself. Some browsers register DOM-related events one way, while other browsers don't acknowledge...