3

我正在开发的网站有一个特殊的问题。该问题发生在 iPhone(safari) 上。

我的设置如下。

1) 我有一个客户页面 - 显示一个初始页面,并有一个登录按钮。

2)用户单击登录按钮,并显示一个登录弹出/新窗口(这是通过使用 jquery 'submit' 函数和 target='_blank' 发布表单创建的)

客户.html

var formData = '<form style="display: none; margin: 0; padding: 0; border-width: 0; overflow: hidden;" id="MyFormId" action="https://MYSERVER.COM/v2/widgets" method="POST" target="_blank"><input type="hidden" name="action" value="connect"/><input type="hidden" name="referringURL" value="http://MYCLIENT.com/ClientPage.html"/><input type="hidden" name="cartOwnerId" value="A2R6QUFKT17A1O"/></form>';


jQuery("#"+this.getLocation()).append(formData);


jQuery("#"+formIdName).submit();      

3) 用户在登录窗口输入凭据,然后提交。调用 SERVER 进行身份验证。在成功的身份验证中,我们想要

  • 关闭登录窗口
  • 将客户端页面重定向到新 URL

4)一切都按计划进行,除了客户端窗口(创建登录弹出/新窗口)没有返回全屏(登录窗口关闭后)。

如果我尝试将 window.opener.focus() 放在 LOGIN 页面 javascript 中,我将焦点放在 CLIENT 页面上,但 LOGIN 页面不会关闭(即使我将 window.close 放在 window.opener.focus 之前( ))

LOGIN html
jQuery(document).ready(function() {
  ...
  ...

    window.close();

    window.opener.focus()
});

关于如何关闭登录窗口并将客户端页面重定向到新 URL 并使客户端窗口全屏显示,是否有任何提示?

任何提示将不胜感激。

谢谢

4

1 回答 1

0

Does something like this work:

In opener:

window.closePopup = function () {
  window.popup.close();
  window.focus();
}
// open login popup
window.popup = window.open(...);

After user logs in in popup window:

window.opener.closePopup();

THat is, don't have a window close itself, but have the opener close the popup. I've tried something like this and it seems to work sometimes... I haven't quite been able to isolate why it doesn't work. I know one thing that happens in my case is that the user has to interact with the popup window in order for the window.opener.closePopup() to work...

于 2012-10-26T18:03:33.600 回答