【发布时间】:2013-07-19 04:52:40
【问题描述】:
我的网站上有一个页面用于在另一个网站上注册。另一个网站给了我一个提交表单的网址。我正在使用带有以下 .attr("method", "GET").attr("target", "_blank")... 和其他一些代码的 aspnetForm。将表单提交到他们的站点后,新的空白窗口将充满一条消息,说明表单提交是否成功。新页面包含来自其他网站的 url,其中包含一个查询字符串,其中包含对我有用的数据,因此我的应用程序实际上知道提交是否成功,而不仅仅是对用户的视觉提示。我的应用程序有没有办法从这个其他窗口检索查询字符串数据?
谢谢
【问题讨论】:
-
您是否考虑过使用 window.open 在 GET 请求中将数据发送到其他站点?这样,您可以在自己的页面中存储对打开窗口的引用,然后在需要时访问该窗口的 DOM。
-
我已经调查过了。不过,我仍在努力掌握另一个窗口。当我尝试引用 window.open 时,我得到一个空值。来自其他站点的窗口是否会影响我获得参考的能力?我发现了一些关于取消选中 IE 中的“启用保护模式”设置的内容,这使我能够获得对象引用,但我认为取消选中这不是一个很好的解决方案。我也在研究 window.postMessage,但还没有弄清楚如何利用它。
-
是的,我猜你是对的,如果你被允许访问其他站点,那将是一个安全风险(跨站点脚本/XSS)。我不是 XSS 方面的专家,但我认为如果你想要这种访问权限,你必须与其他网站的所有者合作。关闭 IE 的默认安全设置听起来很冒险,所以我支持你。也许其他人可以为此添加一些输入。
-
好的,谢谢迈克尔的意见。
标签: c# javascript html asp.net forms