У меня проблема с IE8, открытием нового окна с javascript и отправкой параметров со специальными символами.
<a href="javascript:oWin('/html/de/4664286/printregistrationcontent.html?12-security question=Wie heißt Ihr Lieblingsrestaurant','PRINT',800,600);" class="print">Seite drucken</a>
Проблема в том, что буква ß (острый S).
Как видите, приведенная выше строка кодируется благодаря анти-XSS.
Эта ссылка работает в FF и IE6, но IE8 передает параметр URL как символ с кодом 65 *** (не знаю значение exaxt).
В открывшемся окне вы увидите только квадрат (потому что персонаж с 65000+ не печатается).
Я также пытался использовать кодировку URL вместо кодировки HTML
<a href="javascript:oWin('/html/de/4664286/printregistrationcontent.html?12-security question%3DWie hei%C3%9Ft Ihr Lieblingsrestaurant','PRINT',800,600);" class="print">Seite drucken</a>
Если я нажму на эту ссылку в FF или IE6, она будет работать, как и ожидалось, но IE8 не сможет передать «ß» на сервер и, следовательно, вернет его неправильно.
Если я вставлю этот URL в IE8, он тоже будет работать, но не в том случае, если окно открывается с помощью javascript.
Функция Javascript oWin определяется следующим образом
function oWin(url,title,sizeH,sizeV) {
winHandle = top.open(url,title,'toolbar=no,directories=no,status=yes,scrollbars=yes,menubar=no,resizable=no,width='+sizeH+',height='+sizeV);
if(navigator.appVersion.indexOf("MSIE 3",0)==-1) id = setTimeout('winHandle.focus()',1000);
}
Если у кого-то есть идея, где искать причину, ответьте на это.
Спасибо
АМФА