IE: window.open изменяет переменные в URL

Ashotovich

Новичок
IE: window.open изменяет переменные в URL

Приветствую всех!

Столкнулся с неприятной проблемой. У меня при помощи JS-метода window.open открывается новое окно с неким URL, в котором передается ряд переменных GET. Примерно вот так:

window.open('report.php?report_user_id=1&d1=16&m1=6&y1=2009&d2=16&m2=6&y2=2009&add_subordinates=on&divide_employees=on&divide_acttypes=on', 'report');

Во всех браузерах, кроме IE открывается окно с таким URL:

http://somesite.ru/report.php?report_user_id=1&d1=16&m1=6&y1=2009&d2=16&m2=6&y2=2009&add_subordinates=on&divide_employees=on&divide_acttypes=on

А в IE у открывшегося окна URL выглядит так:

http://somesite.ru/report.php?report_user_id=1&d1=16&m1=6&y1=2009&d2=16&m2=6&y2=2009&add_subordinates=on÷_employees=on÷_acttypes=on

Соответственно, переменные GET в конце URL (выделено красным) не передаются корректно.

Копал-копал, ничего найти не смог. Помогите, пожалуйста, решить проблему.

С уважением, Ashotovich

-~{}~ 16.06.09 16:01:

Да, только что заметил следующую закономерность - если из имен переменных убрать нижнее подчеркивание, все работает корректно. То есть проблема сужается до URL с нижними подчеркиваниями в области переменных GET.
 

weregod

unserializer
действительно, под w2k3/ie8 воспроизводится

&divide превращается в ÷, баг ie походу

ну и есть такой символ - ÷

но если в url использовать & a m p ; вместо &, то баг не воспроизводится
 

Ashotovich

Новичок
weregod,

У меня XP/IE8

Неужто, правда баг? И, судя по всему (в инете вообще ничего по этому поводу нет), я - его первооткрыватель. :) Пошел рисовать себе медаль. :)

-~{}~ 16.06.09 16:16:

О! До меня дошло! :)))

&divide (divide - значит "разделить") IE понимает, как знак деления!!!!!

-~{}~ 16.06.09 16:18:

Понятно, почему с & a m p ; не работает.

Думаю, если переменная будет называться plus_odin, то в URL она пойдет как +_odin!
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Где тут баг? Документированное поведение. HTML сущности преобразуются в их УТФ символы, если браузер это поддерживает.
 

Ashotovich

Новичок
Автор оригинала: флоппик
Где тут баг? Документированное поведение. HTML сущности преобразуются в их УТФ символы, если браузер это поддерживает.
В UTF-символах еще должен знак ";" присуствовать в конце. Да еще неясно, почему нижнее подчеркивание его на это провоцирует.
 
Сверху