我尝试使用 javascript 和 window.open() 函数打开多个浏览器窗口。我想通过查询字符串将参数传递到我的新窗口,如下所示:
window.open('http://www.myfoo.com/foopage.aspx?fooparm=1', '_blank');
这将打开一个新窗口,地址栏中显示正确的地址,但浏览器显示 404-未找到。但是,如果我在这个新窗口中按 Enter 键,页面就会正确加载。
经过一些尝试和错误,我发现使用不带查询字符串参数的 window.open 效果非常好:
window.open('http://www.myfoo.com/foopage.aspx', '_blank');
关于 window.open 和查询字符串参数,我应该了解什么限制吗? 还有其他方法可以在新窗口中将参数传递到新页面吗?
预先非常感谢您的见解。
(注意:此脚本是用 C# 在服务器端生成的,并使用 Ajax 的 ScriptManager.RegisterStartupScript 注入(inject)到页面中。)
最佳答案
今天早上我找到了原因:
在 web.config 中,在全局化下,responseEncoding 设置为“cp037”。我将其更改为“ISO-8859-15”,我的窗口正确弹出。
<globalization fileEncoding="ISO-8859-15" requestEncoding="ISO-8859-15" responseEncoding="ISO-8859-15" culture="auto" uiCulture="auto"/>
关于javascript - 查询字符串参数似乎不适用于 window.open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1227126/