I implemented a Preferences page on which you can indicate your preferences for several features.

Right now you can only set three preferences for the site navigation on the left:

  1. Do you want the site navigation to show up immediately, or only after you clicked on the link?
  2. Do you prefer position: fixed or position: absolute?
  3. Do you prefer to have an unlimited amount of open submenus, or just one per level?

If necessary I'll implement more preferences. If you have a good idea for a preference, leave a comment.

Browsers and stuff

The position: absolute preference solves one problem for users of Explorer 6 and lower: these browsers don't show the site navigation because they don't support position: fixed. Now users of these browsers can set the position to absolute, which is of course supported fine.

Unfortunately, setting the menu to position: absolute triggers a bug in my Safari: it doesn't implement the display changes in the main menu correctly, and as a result its usability kind of falls apart.

If you have a Safari browser higher than 1.3.2, please do the following test for me and leave a comment with the results:

  1. Set your preferences to position: absolute.
  2. Now go to a deep-lying page in the JavaScript or CSS sections.
  3. Open the site navigation and click on a header. In theory the links belonging to this header should now be displayed; but in practice my Safari doesn't do that. Does yours?

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?



Comments are closed.

1 Posted by Jim on 16 September 2006 | Permalink

It doesn't work for me at all.

I went to preferences and selected "absolute".
I went to book > table of contents.
Clicked on "ppk on JavaScript - Table of Contents"

Switched back to "fixed" and did the same and also had no result. Although, perhaps I'm not doing the right thing.

Also, as I am leaving this comment, the Safari tab for this page is telling me its loading and I have no header, and no navigation on the left.

2 Posted by Someone on 17 September 2006 | Permalink

The site navigations sort of works for me in safari using absolute positioning. The tree opens to the level of the current page and it's siblings.

This is with Version 2.0.4 (419.3)

However if you hide the site navigation again it dissapears completely and can't be retrieved.

3 Posted by Philip Rayment on 18 September 2006 | Permalink

On my browser (IE6) with the default position of fixed, the site navigation link ('show site navigation') does not show up at all. Or rather, it is there for a brief moment whilst loading, and then disappears.

4 Posted by Samuel on 18 September 2006 | Permalink

Tested with Safari 2.0.4 (419.3).

Fixed positioning works fine.

With absolute positioning encountered the same problem as Someone above.

In addition, if you go to /js/date.html and open the site navigation, not only do the other headers not open, but the currently opened header (JavaScript) refuses to close properly. (The contents replaced with empty space.)

5 Posted by Roberto Gorjão on 19 September 2006 | Permalink

In Safari 2.0.4 I confirm the results of Samuel.

Perhaps the site should have some browser detection as Internet Explorer 6 users, by default, don't get neither the site navigation bar or an explanation about where to go to make it appear. With a browser detection script you could offer one of the two to those users.

6 Posted by ppk on 19 September 2006 | Permalink

OK, then the Safari bug is officially confirmed. I tried to solve it, but it's one of those bugs where a browser simply ignores your commands and goes off on its own tangent.