【发布时间】:2012-02-19 03:18:27
【问题描述】:
我一直在尝试在 iframe 内的静态页面中嵌入一个小型登录小部件,以允许某人登录我的网站。我遇到的问题是,当表单发布时,它最终出现在 iframe 中,而不是作为完整的浏览器页面。
我知道这样做是可能的,因为https://www.salliemae.com/ 在他们的主页上采用了相同的策略。他们在静态页面中嵌入了一个 iframe,为他们执行所有逻辑。我有非常相似的javascript,当有人点击时我调用form.submit()。唯一的区别是我使用 jQuery 来捕获点击事件而不是直接将 onclick 放在表单元素上。
我查看了他们的 Calm.js 中的代码,它似乎在执行一个简单的 form.submit() 操作,但是他们的页面完全在浏览器中加载而不是在 iframe 中。我环顾四周,没有看到类似的帖子,所以如果我错过了,请告诉我。
【问题讨论】:
-
如果请求跨域、端口或协议,浏览器会拒绝它。谷歌XSS了解更多信息。
-
就我而言(以及上面的 salliemae 示例),它们都在同一个域中。所以对于这个问题,假设两者都在同一个域上,我该怎么做? Salliemae 只有较低级别的域共有,它们位于不同的子域(www. vs. login.)
标签: javascript forms post iframe