![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Twilo, 30. 12. 2005, 00:12
Hallo,
ich hab mir eine Funktion gebastelt, mit der ich noch einige Probleme habe :(function TEST() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName('a');
ref = location.href;
if (ref.indexOf('?') == -1) return;
qs = ref.substr(ref.indexOf('?')+1);
qsa = qs.split('&');
var suche = 'undefined';
for (i=0;i<qsa.length;i++) {
qsip = qsa[i].split('=');
if (qsip.length == 1) continue;
if (qsip[0] == 'q' || qsip[0] == 'p') {
suche = qsip[1];
break;
}
}
if (suche != 'undefined'){
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.href.indexOf('#') >= 1) continue;
if (anchor.href.indexOf('?') == -1) anchor.href = anchor.getAttribute('href')+'?q='+suche;
else anchor.href = anchor.getAttribute('href')+'&q='+suche;
}
}
}
meine Probleme ;)
1. ein Link, wo nur "#top" drin steht, wird zu "?q=SUCHWORT#top"
ich habe schon versucht die Umschreibung mittels "if (anchor.href.indexOf('#') >= 1) continue;" zu verhindern, leider bewirkt das gar nichts
2. wie kann ich die Übergabe bei externen Link verhindern?
da bräuchte ich mal einen kleinen Tipp :-)
kann man die Funktion irgendwie kürzen?!
das ganze wird mittels window.onload = TEST; aufgerufen
mfg
Twilo
Die folgende Nachricht zum Thema stammt von: molily, 30. 12. 2005, 01:59
Hallo,
»» 1. ein Link, wo nur "#top" drin steht, wird zu "?q=SUCHWORT#top"
<a href="#top"> wird zu <a href="?q=SUCHWORT#top">? Das kann ich nicht nachvolziehen.
»» ich habe schon versucht die Umschreibung mittels "if (anchor.href.indexOf('#') >= 1) continue;" zu verhindern, leider bewirkt das gar nichts
Das funktioniert bei mir in allen Browsern, mit denen ich teste. Mit welchem Browser testest du?
»» 2. wie kann ich die Übergabe bei externen Link verhindern?
Eine Möglichkeit: Bei einem externen Link unterscheidet sich anchor.hostname von location.hostname.
http://de.selfhtml.org/javascript/objekte/links.htm#location
»» kann man die Funktion irgendwie kürzen?!
Soweit ich das sehe nicht.
Mathias
Die folgende Nachricht zum Thema stammt von: Twilo, 30. 12. 2005, 11:32
Hallo,
»» »» 1. ein Link, wo nur "#top" drin steht, wird zu "?q=SUCHWORT#top"
»» <a href="#top"> wird zu <a href="?q=SUCHWORT#top">? Das kann ich nicht nachvolziehen.
»» »» ich habe schon versucht die Umschreibung mittels "if (anchor.href.indexOf('#') >= 1) continue;" zu verhindern, leider bewirkt das gar nichts
»» Das funktioniert bei mir in allen Browsern, mit denen ich teste. Mit welchem Browser testest du?
mit Opera 9.0, Internet Explorer 6 und Firefox 1.0.7
alle 3 hängen bei mir ein ?q=SUCHWORT ran
»» »» 2. wie kann ich die Übergabe bei externen Link verhindern?
»» Eine Möglichkeit: Bei einem externen Link unterscheidet sich anchor.hostname von location.hostname.
»» http://de.selfhtml.org/javascript/objekte/links.htm#location
danke, das werd ich mir nachher mal anschauen
mfg
Twilo
Die folgende Nachricht zum Thema stammt von: Twilo, 30. 12. 2005, 15:09
Hallo,
»» »» »» 1. ein Link, wo nur "#top" drin steht, wird zu "?q=SUCHWORT#top"
»»
»» »» <a href="#top"> wird zu <a href="?q=SUCHWORT#top">? Das kann ich nicht nachvolziehen.
»»
»» »» »» ich habe schon versucht die Umschreibung mittels "if (anchor.href.indexOf('#') >= 1) continue;" zu verhindern, leider bewirkt das gar nichts
»»
»» »» Das funktioniert bei mir in allen Browsern, mit denen ich teste. Mit welchem Browser testest du?
»»
»» mit Opera 9.0, Internet Explorer 6 und Firefox 1.0.7
»» alle 3 hängen bei mir ein ?q=SUCHWORT ran
ich hab ganz übersehen, dass der Originallink ja schon ein ?q=xyz hatte ;-)
bevor ich die eine Zeile eingefügt hatte, sah es ja so aus "?q=SUCHWORT#top?q=SUCHWORT"
mfg
Twilo
Die folgende Nachricht zum Thema stammt von: Twilo, 30. 12. 2005, 23:42
Hallo,
»» »» 2. wie kann ich die Übergabe bei externen Link verhindern?
»» Eine Möglichkeit: Bei einem externen Link unterscheidet sich anchor.hostname von location.hostname.
»» http://de.selfhtml.org/javascript/objekte/links.htm#location
hab die 20. Zeile jetzt so abgeändertif (anchor.href.indexOf('#') >= 1 || anchor.hostname != location.hostname) continue;
es scheint zu funktionieren :)
thx!
mfg
Twilo
© 1998-2006
Impressum, Software: Classic Forum