"Erik Ginnerskov" <egin@spam.invalid> writes:
> På siden
www.hjemmesideskolen.dk/scripts/jsbc.asp er vist et javascript, der
> kan lave bread crumbs navigation. Resultatet af scriptet - en udskrift på
> siden - er vist nederst.
Jeg vil ikke anbefale at bruge Javascript til den slags. Hvis man ikke
har server-side scripting til rådighed, så skriv det direkte ind på siden.
Med mindre altså at man har en *meget* simpel directory-struktur, og din
logiske dokument-struktur følger directory-strukturen.
> Jeg kunne godt tænke mig scriptet modificeret, så der sidst i listen ikke
> stod filnavnet men sidens titel.
> Med andre ord: Hvordan kan man detektere indhold af <title> på siden og
> bruge det som variabel i en udskrift?
document.title
(ses fx af <URL:
http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26809268>)
> Det ønskede resultat kan ses øverst på samme side, lige under headline - det
> er bare lavet med asp.
Med tyrkfejl og det hele :)
Men, hcis du alligevel gerne vil gøre det med klientside-scripts, så
er her et script der gør det du beder om:
----
<script type="text/javascript">
function makeBreadCrumbPath(frontPageName,divider) {
frontPageName = frontPageName ? frontPageName : "Home";
divider = divider ? divider : ">";
var parts = location.pathname.split("/");
var crumbs = new Array();
// front page
var curPath = "/";
crumbs[0]="<a class=\"crumb\" href=\"/\">" + frontPageName + "<\/a>";
// crumbs on path
for(var i=1;i<parts.length-1;i++) {
curPath += parts[i] + "/";
crumbs[i] = "<a class=\"crumb\" href=\"" + curPath + "\">" +
parts[i].charAt(0).toUpperCase() +
parts[i].substring(1) +
"<\/a>";
}
// this page
crumbs[i]="<span class=\"crumb\">" + document.title + "<\/span>";
var crumbpath = crumbs.join(divider);
return crumbpath;
}
document.write("Du her her: "+makeBreadCrumbPath("Forsiden"," > "));
</script>
---
Det har et par fordele over for det du henviser til:
- Det bruger location.pathname, ikke location.href. Det sparer lidt besvær.
- Indeholder ikke "</" (ikke tilladt ifølge HTML-specifikationen)
Ellers er den bygget efter ca. samme princip.
Testet i Opera 4, IE 4 og NS 3 (og frem), accepteret af JSLint
<URL:
http://www.crockford.com/javascript/jslint.html> (med "++ and --
considered harmfull" slået fra).
Her er er scriptet "live":
<URL:
http://www.infimum.dk/privat/krumme/breadcrumbtest.html>
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'