Параметры строки запроса не работают с window.open - PullRequest
2 голосов
/ 04 августа 2009

Я пытаюсь открыть несколько окон браузера, используя javascript и функцию window.open (). Я хочу передать параметр через строку запроса в мое новое окно, например:

window.open('http://www.myfoo.com/foopage.aspx?fooparm=1', '_blank');

Это открывает новое окно с правильным адресом в адресной строке, но браузер отображает 404-не найден. Однако, если я нажму клавишу ввода в этом новом окне, страница загрузится правильно.

Немного проб и ошибок, я обнаружил, что использование window.open без параметров строки запроса работает отлично:

window.open('http://www.myfoo.com/foopage.aspx', '_blank');

Есть ли ограничение, которое я должен знать о параметрах window.open и строки запроса? Есть ли другой способ передачи параметров на новую страницу в новом окне?

Большое спасибо заранее за понимание.

(Примечание. Этот сценарий генерируется на стороне сервера в C # и внедряется в страницу с помощью ScriptManager.RegisterStartupScript Ajax.)

Ответы [ 3 ]

3 голосов
/ 10 августа 2009

Я нашел почему сегодня утром:

В web.config в условиях глобализации responseEncoding было установлено в «cp037». Я изменил его на «ISO-8859-15», и мои окна появляются правильно.

<globalization fileEncoding="ISO-8859-15" requestEncoding="ISO-8859-15" responseEncoding="ISO-8859-15" culture="auto" uiCulture="auto"/>
0 голосов
/ 04 августа 2009

попробуй с

window.open("javascript:window.location='http://www.myfoo.com/foopage.aspx?fooparm=1'", "_blank");
0 голосов
/ 04 августа 2009

Одно можно сказать наверняка: ограничение не привязано к window.open () предварительно. Мой сервер запускает mod_perl, и я часто использую GET-запросы в window.open ().

...