Hallo Struppi und SSH,
In die Variable "Page" setze ich jetzt z. B. "Test%20%C4%E4%D6%F6" (<A Href="javascript:LoadNews('Test%20%C4%E4%D6%F6')">...) ein.
Bei mir funktioniert das folgende wie gewünscht:
function test(a)
{
alert(a);
}
test('%A0');
<a href="javascript:alert('%C4')">bla</a> gibt im MSIE 6 »Ä« aus. Manche %xx kodierte Zeichen aus dem Query String werden in URLs offenbar intern umgesetzt (siehe auch Statusleiste, <a href="?%C4%E4%D6%F6">...</a> wird dort als ...?ÄäÖö angezeigt). Das scheint bei normalen URLs kein Problem zu sein, da MSIE sie beim Anwählen des Links wieder kodiert. Bei <a href="?%C4%E4%D6%F6=%C4%E4%D6%F6">...</a> stimmt also alles, der Query String wird exakt so übertragen. Hingegen bei <a href="javascript:window.location.href='?%C4%E4%D6%F6';">bla</a> o.ä. wird letztlich ?\xc4\xe4\xd6\xf6 an den Server gesendet.
Das könnte man umgehen, indem man die Ziel-URL ganz normal in das href-Attribut schreibt und den Popupkram über onclick löst, dann hätte man gleich zwei Fliegen mit einer Klappe geschlagen:
<a href="/cgi-bin/news/news_show.pl?title=Test%20%C4%E4%D6%F6" onclick="return LoadNews(this.href)">...</a>
beispielsweise mit
function LoadNews (url) {
var fenster=window.open(url, 'news', 'width=400,height=400,scrollbars=yes');
fenster.focus();
return false;
}
Dann würde MSIE den Query String eins zu eins senden und das Script sollte den GET-Parameter problemlos entgegennehmen können.
Mathias