Last week I’ve done the DOM Core tests in new browsers: IE8 final (in both IE8 and IE7 mode), Firefox 3.5b4, Safari 4.0, Chrome 1 and 2, and Opera 10a. I found no surprises.
After that I decided to continue with mobile browsers, of which I have 15 lying around on my desk. Unfortunately I could not test IE Mobile (old) because it supports only inline event handlers, Skyfire because it does not allow you to remove alerts, and the Opera runtime in the Vodafone widget manager for terrifyingly complicated reasons I still have to describe properly.
Still I managed to test the other twelve and found a few surprises.
querySelectorAll()
,
which have hit the mainstream only in the past year or so.attributes[key]
is not supported, and the contains()
has a bug: the browser always returns
true
. On desktop these bugs were solved in Safari 2 or 3, if I recall correctly.
This proves S60 WebKit is behind all other WebKits, but we already knew that.nodeValue
of
comments: Opera 8, Blackberry and the S60 WebKit on the Samsung i560 return //
instead of the comment’s text content.removeAttribute()
,
as well as its IE-like take on getElementsByName()
also occur on all tested mobile
versions.All in all these bugs are not very important. Nobody ever uses getElementsByName()
or the nodeValue
of comments, while we remove event handlers by specialised event
methods and have learned to work around the empty text node issue. Only the S60 WebKit bugs are
annoying, and even they can be worked around.
Still, these bugs have their use as marker bugs; that is, as bugs that show how well (or badly) a certain browser is progressing, and that allows us to estimate its relation to other browsers.
I was saddened by the differences between S60 WebKit on the Samsung on the one hand, and those on the Nokia on the other. Until now I dared to assume that there’s only one S60 WebKit, but it turns out there are differences between Nokia and Samsung after all.
Fortunately Nokia remains by far the most important vendor of S60 devices, so I assume web developers are going to ignore the Samsung S60 WebKit’s differences. In the end, they will remain Samsung’s problem, not web developers’.
What puzzles me is the fact that two totally unrelated bugs occur in Opera 8, S60 WebKit Samsung,
and Blackberry. What’s the common denominator of these browsers? What’s the common
denominator of empty text nodes and a faulty comment nodeValue
? I have no idea.
The chances of exactly these two (apparently unrelated) bugs occurring in the same three browsers (that do not share a code base) are small enough to wonder and worry.
I have no solutions, only more questions.
Still, we can now take as a given that the DOM Core support of all mobile browsers, including Blackberry and NetFront, is decent. Their problems are mostly located in performance: there Blackberry and NetFront have to take a back seat to Opera and all WebKits.
More research is clearly necessary.
This is the blog of Peter-Paul Koch, web developer, consultant, and trainer.
You can also follow
him on Twitter or Mastodon.
Atom
RSS
If you like this blog, why not donate a little bit of money to help me pay my bills?
Categories:
Comments are closed.
1 Posted by Simon Proctor on 25 May 2009 | Permalink
No one ever uses getElementsByName()? Why do you say that?
I find it quite useful when dealing with forms with lots of checkboxes.
2 Posted by Bart on 28 May 2009 | Permalink
One thing that I noticed was missing from the DOM Core test notes is that in IE (at least 6/7, haven't checked 8), document.getElementsByTagName('*') returns too many nodes. The first node returned is the doctype declaration and is of type text node.
3 Posted by Nils on 29 May 2009 | Permalink
No one ever uses getElementsByName()? Why do you say that?
I also use it and i agree with simon.
4 Posted by jay on 29 May 2009 | Permalink
You mentioned the method 'querySelectorAll'
IE8 crashes on the method when used improper. I mean a hard crash. See the example page on http://www.domnodes.org
5 Posted by Dave on 3 June 2009 | Permalink
Have you tried the Ozone browser? It runs on S60 and uses a much more recent branch of WebKit than the native S60 browser, and gets 97/100 onthe Acid3 test. Details at: http://www.o3mobi.com/
6 Posted by ppk on 3 June 2009 | Permalink
Dave, thanks for the tip. Unfortunately I get a certificate error when trying to install it.