Geoff Chappell - Software Analyst
Among the known problems are several (though a thankfully diminishing number) that seem important enough to warn about, or at least to assure that I do mean to attend to them.
Mozilla Firefox does not show the intended borders between the frames. Rather, the borders are present, as spacing between the frames, but are white, even in a variety of configurations for such things as background colour. If you know how to get this particular browser to display flat coloured borders between frames, then please write to me with the solution. Opera is no better: it fills the space between frames with its own choice of colour (apparently always the ButtonFace system colour). If only for now, I adjust other elements to match these particular browsers’ lack of colour or choice of colour.
Apple Safari and Google Chrome don’t even show space for the frame borders. Among the consequences is that no user-interface support is available for resizing the TOC. If you want to resize the TOC, you can do so by manually editing the URL. For instance, appending “?tw=300” (without the quotes, or &tw=300 if there is already a search string) sets the TOC’s width to 300 pixels. You only have to do this once: the scripts will maintain your width specification in the URL as you move from page to page.
Of course, I appreciate that some would argue against using frames at all, but I have found no alternative that is quite as functional. (And, no, using the XMLHttpRequest object to load content into a DIV is only superficially similar and is nothing like as functional.) These frames actually are used as frames, with content to be drawn from files that are better kept independent of one another and are not written with the expectation of being included in some other document. If any HTML authors read this and believe that the functionality can be replaced, then please write to me for my enlightenment and presumably for the benefit of other readers who should be spared from frames.
Note that frames are not needed by this website if you disable JavaScript. The trade-off is that you then don’t get the dynamic TOC for navigation and you go without some refinements such as tooltips for explaining inline formatting.
A revision in 2011 has left some small problem to sort out with Internet Explorer. Going backwards through the History when a URL along the way has a bookmark can insert a spurious page into the History. Since only very few pages here use bookmarks, I don’t plan to give this problem much priority but I expect I will sort it out easily enough with Internet Explorer’s facility for script debugging when I find some more spare time.
Just following a bookmark within a document page is a problem for Firefox. It shows the bookmark in the URL but does not move to the bookmark. Curiously, it then does move to the bookmark if the page is refreshed. Since I find script debugging to be markedly less well developed in Firefox than for Internet Explorer, any problem with scripts in Firefox is much less likely to get attended to any time soon.
Logs at the server show that some browsers make heavy work of the TOC by requesting over and over the same tiny image files that serve as list-item markers. Since some of the TOCs are large, the requests are repeated hundreds of times for what looks like no good reason. This seems to be only partly remediable through cache control from the page. In at least some of these cases the browser is caching nothing, which may be its user’s deliberate choice. I can do nothing about that. In many other cases however, the logs show scripts, stylesheets and HTML pages being cached, just not the images from the TOC. This is by far the most common for Internet Explorer 6.0, which at least allows the possibility that I will try some day to reproduce the problem on my intranet and debug it. Except for this, I think I can never do much about any problems that involve caching: I can’t justify client-side debugging for browsers other than Internet Explorer and I don’t even have the means to debug the live server.