Search This Blog

Saturday, February 2, 2008

Thoughts on Firefox 3.0

The second beta version of Firefox Version 3.0 is now out, and I have
to say that overall I'm feeling quite pleased with what I'm seeing,
with a few caveats. As to DOM: the changes coming to this version with
JavaScript are likely to engender some headaches in the short-term,
especially for big AJAX libraries, but longer term will prove fairly
beneficial... Certain efforts of the HTML 5/WhatWG efforts are also
making their way into Firefox. Among them is the introduction of the
activeElement and hasFocus properties. The activeElement property
(on the document) gives a pointer to the element that currently has
the focus, or the body element if nothing else has it within the document.
Similarly, the hasFocus property on an element will retrieve whether
that element currently has the property or not... Detecting and Working
with Offline Applications: As web applications have become more complex
and robust, they have also become far more sensitive to needing to
know when they are in fact online or offline. This is especially true
of AJAX applications that often 'die' at the worst possible time
because you've lost a wireless signal to the Internet. Firefox 3
implements a new read-only property and two new events ('ononline' and
'onoffline') which makes it possible to detect which such events occur...
One of the central changes for CSS in Firefox is the adoption of the
W3C Cascading StyleSheet Object Model (CSSOM) working draft, which
provides a comprehensive mechanism for enabling or disabling individual
stylesheets, and for manipulating stylesheets from DOM. CSS changes at
the individual rule and property level are pretty impressive as well:
(1) Support for inline-block and inline-table. This is an extraordinarily
welcome addition (especially for XForms developers), because it makes
it possible to take a span within a div element and set the height,
width, text-alignment and so forth. (2) rgba() and hsla() -- these CSS
functions let you specify either red/green/blue/alpha byte values or
hue/saturation/luminosity/alpha values for the CSS color property.
(3) text-rendering() -- text-rendering determines the quality of the
text output compared to the speed of rendering. (4) Soft hypens and
tabs -- soft hyphens (indicated by the ­ entity) will force a word
to break at the hypen if its at the edge of a block of text, while hard
(default) hyphens generally force the word onto the next line; tabs in
monospaced fonts are also now rendered more accurately, rather than
just being treated as generic white space.

No comments: