From 4a1132c49fad62f3bbe895df112e16c9d0b0a41c Mon Sep 17 00:00:00 2001 From: joey Date: Mon, 10 Sep 2007 04:32:55 +0000 Subject: [PATCH] web commit by http://per.bothner.myopenid.com/: JavaScript tip to enable browsing using file: URLS --- ...ript_to_add_index.html_to_file:_links.mdwn | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 doc/tips/JavaScript_to_add_index.html_to_file:_links.mdwn diff --git a/doc/tips/JavaScript_to_add_index.html_to_file:_links.mdwn b/doc/tips/JavaScript_to_add_index.html_to_file:_links.mdwn new file mode 100644 index 000000000..a11c807e8 --- /dev/null +++ b/doc/tips/JavaScript_to_add_index.html_to_file:_links.mdwn @@ -0,0 +1,39 @@ +The source file `foo/bar.mdwn` or `foo/bar.html` generates the +page `foo/bar/index.html`, but the links to the page appear +as "`foo/bar/`". This is fine (and recommended) for pages +served by an http server, but it doesn't work when browsing +the pages directly using `file:` URL. The latter might be +desirable when testing pages before upload, or if you want to +read pages when off-line without access to a web server. + +Here is a JavaScript "`onload`" script which fixes the URLs +if the `local.protocol` isn't `http` or `https`: + + function fixLinks() { + var scheme = location.protocol; + if (scheme=="http:" || scheme=="https:") return; + var links = document.getElementsByTagName("a"); + for (var i = links.length; --i >= 0; ) { + var link = links[i]; + var href = link.href; + var hlen = href.length; + if (hlen > 0 && link.protocol==scheme && href.charAt(hlen-1) == "/") + links[i].href = href + "index.html"; + } + } + +This can be placed in `page.tmpl`: + + + + + + + ... + + +This script has not been extensively tested. \ No newline at end of file -- 2.39.2