2012-09-16 3 views
3

나는 개발중인 웹 사이트에 특이한 문제가 있습니다. 문제가 인 경우에만이 iPhone (사파리)에서 발생합니다.iPhone - Safari 상위 창 포커스 문제

내 설정은 다음과 같습니다.

1) CLIENT 페이지가 있습니다. 초기 페이지가 표시되며 로그인 버튼이 있습니다.

2) 사용자이 '_ 빈' '제출')

CLIENT를 대상 =와 기능을 jQuery를 사용하여 양식을 게시하여 생성된다 (로그인 버튼을 클릭하고 로그인 팝업/새로운 창을 표시됩니다. 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에

  • CLOSE 로그인 창
  • REDIRECT 클라이언트 페이지

4) 모든 것을 제외하고, 계획대로 작동 로그인 팝업을 생성 한 클라이언트 창 (/ 새 창), 전체 화면으로 돌아 가지 않습니다 (로그인 창이 닫힌 후).

LOGIN 페이지 자바 스크립트에 window.opener.focus()를 넣으려고하면 CLIENT 페이지에 초점을 맞추지 만 LOGIN 페이지는 닫히지 않습니다 (창 앞에 window.close를 놓을지라도). opener.focus())

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

    window.close(); 

    window.opener.focus() 
}); 

내가 로그인 창을 닫고 새 URL로 클라이언트 페이지를 리디렉션하고, 클라이언트 창을 전체 화면으로 만들 수있는 방법에 어떤 조언이 있습니까?

팁을 주시면 감사하겠습니다.

감사

답변

0

합니까이 작품 같은 : 개막전에서

:

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

사용자가 로그인 한 후 팝업 창에서 :

window.opener.closePopup(); 

이다,하지 창 자체가 닫히지 만 오프너가 팝업을 닫도록하십시오. 나는 이것과 같은 것을 시도해 봤는데 작동하는 것 같다. 가끔 ... 나는 그것이 작동하지 않는 이유를 확실히 분리 할 수 ​​없었다. 제 경우에 일어나는 한 가지는 사용자가 window.opener.closePopup()을 작동시키기 위해 팝업 창과 상호 작용해야한다는 것입니다.