Portability |
|
The tree_control has been tested on a large number of browsers on Linux and Windows, with results displayed in the table below. To summarize, the control displays optimally in browsers used by over 95% of the public and displays adequately in most others, including several command-line browsers and such relics as Netscape 3.01 and Internet Explorer 3.02.[1]
For examples of how tree_control displays on various platforms, see Screenshoots.
| Usable | - | Indicates that the control displays acceptably and allows navigation to all the control's associated urls. |
| Dynamic | - | Indicates that the control's nodes can be expanded and collapsed. |
| Positionable | - | Indicates that the control can be positioned anywhere within an HTML document. On browsers where the control is not positionable, the control and its caption consume an entire HTML frame. |
| Synchronizable | - | Indicates that tree_control.sync() works. |
| Correctly Formatted | - | Indicates that tree nodes are displayed with correct numbering and with suitable indentation and are generally acceptable aesthetically. |
| Browser | Platform | Usable | Positionable | Dynamic | Synchronizable | Correctly Formatted |
|---|---|---|---|---|---|---|
| Mozilla | ||||||
| Mozilla 1.7 | Windows 2000 | yes | yes | yes | yes | yes[a] |
| Mozilla 1.5 | Windows 2000 | yes | yes | yes | yes | yes[a] |
| Mozilla 1.2.1 | Linux 2.4.20 | yes | yes | yes | yes | yes[a] |
| Mozilla 0.7 | Linux 2.4.2 | yes | yes | yes | yes | yes[a] |
| Netscape | ||||||
| Netscape 7.0 | Windows 2000 | yes | yes | yes | yes | yes[a] |
| Netscape 6.2 | Windows 2000 | yes | yes | yes | yes | yes[a] |
| Netscape 6.1 | Windows 2000 | yes | yes | yes | yes | yes[a] |
| Netscape 4.8 | Windows 2000 | yes | no[b] | no[c] | no[c] | yes |
| Netscape 4.76 | Linux 2.4.2 | yes | no[b] | no[c] | no[c] | yes |
| Netscape 4.08 | Windows 95 | yes | no[b] | no[c] | no[c] | yes |
| Netscape 4.04 | Windows 95 | yes | no[b] | no[c] | no[c] | yes |
| Netscape 3.01 | Windows 95 | yes | no | no | no | no[d] |
| Internet Explorer | ||||||
| Internet Explorer 6.0 | Windows 2000 | yes | yes | yes | yes | yes |
| Internet Explorer 5.0 | Windows 95 | yes | yes | yes | yes | yes |
| Internet Explorer 4.0[e] | - | - | - | - | - | - |
| Internet Explorer 3.02 | Windows 95 | yes | no | no | no | yes |
| Opera | ||||||
| Opera 7.53 | Linux 2.4.20 | yes | yes | yes | yes[f] | yes |
| Opera 7.11 | Windows 2000 | yes | yes | yes | yes[f] | yes |
| Opera 6.01 | Windows 2000 | yes | no | no | no | yes |
| Opera 5.02 | Windows 2000 | yes | no | no | no | no[d] |
| Opera 4.02 | Windows 2000 | yes | no | no | no | yes |
| Opera 3.0 | Windows 2000 | no | no | no | no | no |
| Konqueror | ||||||
| Konqueror 3.1 | Linux 2.4.20 | yes | yes | yes | yes | yes |
| Konqueror 2.1.1 | Linux 2.4.2 | yes | no | no | no | yes |
| Java Browsers | ||||||
| ICEBrowser 6.0.1 (Eval) | Windows 2000 | yes | yes | yes | no[g] | yes |
| NetClue 4.1 Pro (Eval) | Windows 2000 | yes | yes | no | no | yes |
| HotJava 3.0 | Windows 2000 | no | no | no | no | no |
| Command-Line Browsers | ||||||
| Lynx 2.8.3 | Windows 2000 | yes | yes | no | no | no[d] |
| Links 2.1[h] | Linux 2.4.20 | no | no | no | no | no |
| Links 2.1 (No JavaScript) | Linux 2.4.20 | yes | yes | no | no | no[d] |
| Links 0.98 | Windows 2000 | yes | yes | no | no | no[d] |
[a]Occasionally, after a tree_node hyperlink or icon is clicked a flashing cursor appears in the the frame containing the tree_control.
[b]tree_control could be made partially positionable on Netscape 4.x, but not without an unacceptable increase in code size.
[c]tree_control could be made dynamic and synchronizable on Netscape 4.x, but not without an unacceptable increase in code size.
[d]Child tree_nodes are not displayed indented.
[e]Internet Explorer 4.0 should be fully supported, but no data is available since I no longer have a Windows installation using it.
[f]Opera occasionally loses information about the position within a document which is currently being displayed — the information supplied by the 'fragment identifier' portion of a url. As a result, synchronization sometimes results in a url pointing the top of an HTML document rather than to an internal position. Furthermore, Opera sometimes displays the url of an embedded document in the address bar rather than the url of the top-level frameset document. As a result, the url displayed after synchornization is sometimes a link to the document being displayed in the content frame rather than to the top-level frameset document.
[g]The evaluation version of ICEBrowser does not permit loading a url with a query component. If someone has access to a non-evaluation version, I would like to know if this feature works.
[h]Links 2.1's support of JavaScript appears to be extremely limited. I will attempt to add support for Links 2.1, but I am not optimistic.
[1]See, e.g., Browser Statistics.
Revised 22 July, 2004
© Copyright Jonathan D. Turkanis, 2004
Use, modification, and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt
or copy at http://www.boost.org/LICENSE_1_0.txt)