Alexander Brock: Breadcrumb-Navigation mit Anchor-Problem

Beitrag lesen

Hallo Freunde des gehobenen Forumsgenusses,

Auszug aus deiner Mail an mich:

ich fand Dich als JS-Experten im selfHTML-Forum.

Wie kommst du darauf, dass ich JS-Experte bin?
Ich habe JS seit einem dreiviertel Jahr nicht mehr selbst verwendet!

Dort steht auch mein Problem gepostet, jedoch
erfreut es sich seither voelliger Missachtung

Na und? Ist das etwa ein Grund, einem Forumsteilnehmer deshalb eine Mail zu schicken?
Und keine Antwort nach nur 15h an einem Samstag bedeutet gar nichts,
es gab schon Threads, auf die überhaupt nicht geantwortet wurde,
das kann schonmal passieren. Sobald der Thread im Archiv ist darfst
du ihn neu eröffnen.

Hallo, ich habe leider keine Kenntnisse zu JavaScript

Dann kannst du dein Problem nicht mit JavaScript lösen.
Wenn du es trotzdem lösen willst kannst du
a) JS lernen und die Besucher von der Breadcrumb-Navigation ausschließen, die JS nicht (aktiviert) haben
b) Eine serverseitige Lösung bauen oder eine vorhandene in PHP verwenden.

Das folgende Script gibt eine Navigations-Zeile aus, die als Breadcrumb-Navigation in PHP bekannt ist.

Breadcrumb-Navigation und PHP haben zunächst einmal nichts miteinander zu tun.

<script language="javascript">

Error: Required attribute "type" missing.

var path = "";

var href=document.location.href;
var s=href.split("/");
for (var i=2;i<(s.length-1);i++) {
path+="<A HREF=""+href.substring(0,href.indexOf(s[i])+s[i].length)+"/">"+s[i]+"</A> > ";
}
i=s.length-1;path+="<A HREF=""+href.substring(0,href.indexOf(s[i])+s[i].length)+"">"+s[i]+"</A>";
var url = path;
document.writeln(url);

  

> </script>  
> 

~~~  
  

> Das Problem:  
> Mozilla-basierte Browser haben mit diesem Script Probleme beim Aufruf eines Ankers (z.B. index.htm#Anker) von einer anderen Seite aus. IE ignoriert Folgendes:  
> Ich rufe von seite1.htm ausgehend den Anker "Anker" auf Seite2.htm per Seite2.htm#Anker auf. Dies wird dann per obigen Javascript als Breadcrumb ausgegeben: Seite2.htm#Anker  
  
Als Workaround könntest du mit [PCRE](http://de.selfhtml.org/perl/sprache/regexpr.htm) alles, was nach dem Bash kommt entfernen.  
  

> Nun brauche ich Hilfe beim Ersetzen des "#"-Zeichens im ausgegebenen JS. Wenn "#" zu "\*" wird, so wird wohl auch von Mozilla-Browsern der richtige Anker angesprungen.  
  
Das Objekt string kennt eine Funktion namens [replace](http://de.selfhtml.org/javascript/objekte/string.htm#replace).  
Die ist dafür gemacht.  
  
Gruß  
Alexander Brock

-- 
[latex]\lim\_{3 \to 4}{\sqrt{3}} = 2[/latex]