Jean-Max: Alle guten Dinge sind dreist: Schon wieder Schei? Encoding...

Beitrag lesen

Re!

Du bist einfach GENIAL. Danke!

Das ohne Zweifel... und die Änderungen lasse ich im Skript.

Mittlerweile frage ich mich allerdings, ob das Problem nicht »a weng« selbstverschuldet war, denn der JavaScript-Aufruf des Counters beinhaltet:

...&ref=',escape(document.referrer),'&...

Ersetze ich das allerdings durch:

...&ref=',encodeURIComponent(document.referrer),'&...

wird das »+«-Zeichen im Parameterwert nicht kodiert - entgegen der Behauptung:

Wie encodeURI(), aber mit dem Unterschied,
    dass auch folgende Zeichen kodiert werden:
    , / ? : @ & = + $

in SELFHTML zu encodeURIComponent()???

Auszug (Google-Suchbegriff: atömic eggs):

mit »escape()«:

http://www.google.de/search?q=at%C3%B6mic eggs&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a

mit »encodeURIComponent()«:

http://www.google.de/search?q=at%C3%B6mic+eggs&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a

Aber auch dieser Hinweis zu escape():

Diese Funktion hat ein problematisches Verhalten bei diversen Zeichen
   (das Pluszeichen wird z.B. nicht verändert, obwohl es dadurch in der
   URL als Leerzeichen interpretiert würde)

scheint nicht so richtig, denn:

Auszug (Google-Suchbegriff: atömic + eggs):

mit »escape()«:

http://www.google.de/search?q=at%C3%B6mic %2B eggss&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a

mit »encodeURIComponent()«:

http://www.google.de/search?q=at%C3%B6mic+%2B+eggs&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a

Bei escape wurde das eingegebene »+« zu »%2B«, die Trenn-»+« zu Leerzeichen.

Bei encodeURIComponent() wurde nur das eingegeben »+« zu »%2B«.

?? Oder verstehe ich was grundsätzlich falsch an den beiden Funktionen bzw. deren Erläuterungen in SELFHTML?

Adiou.

--
Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth