Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Dezember

SELFHTML Forumsarchiv
Parameter automatisch anhängen

Informationsseite
  1. Seite (JAVASCRIPT) Parameter automatisch anhängen von Twilo, 30. 12. 2005, 00:12
nach unten

Parameter automatisch anhängen

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

nach obennach unten

Parameter automatisch anhängen

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

nach obennach unten

Parameter automatisch anhängen

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

nach obennach unten

Parameter automatisch anhängen

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

nach obennach unten

Parameter automatisch anhängen

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ändert
if (anchor.href.indexOf('#') >= 1 || anchor.hostname != location.hostname) continue;
es scheint zu funktionieren :)

thx!

mfg
Twilo

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Dezember

© 1998-2006 Seite Impressum, Software: Classic Forum