2013-11-15 4 views
0

팝업 차단기에 문제가 있습니다. 서버에서 데이터를 수신 한 후에야 내 사용자를위한 창을 열고 싶습니다. 즉, 성공하면됩니다. 문제는 팝업 차단기가 스크립트가 현재 실행되고 있다고 생각할 때 성공 섹션에서 창을 중지한다는 것입니다. 나는 jquery 1.7.1.min을 사용하고 있는데 (아래에서 볼 수 있듯이) async : false를 사용해 보았습니다. 그러나 어떤 이유로 그것은 작동하지 않습니다. 내가 할 수 있었던 유일한 해결 방법은 가짜 창을 열어서 응답이 돌아 오는 것입니다. 가짜 창을 덮어 씁니다. 그것은 크롬에서 작동하지만 파이어 폭스에서 문제를 제공합니다. 도움이 필요해. 감사Firefox에서 팝업 차단기 문제가 발생했습니다.

function mypopup() { 
    $j.ajax({ 
     type: 'POST', 
     url: "/my/phppage", 
     data: mydata, 
     async: false, 
     success: function (response) { 
      window.open(response, 'Dialogue Message', 'width=650,height=550,left=50,top=50,location=no,status=yes,scrollbars=yes,resizable=yes'); 
     } 
    }); 
    window.open("openfakewindow", 'Dialogue Message', 'width=650,height=550,left=50,top=50,location=no,status=yes,scrollbars=yes,resizable=yes'); 

} 

답변

0

문제는이 예를 클릭 이벤트에 대한 사용자 생성 이벤트에서 생성 된 경우 파이어 폭스는 팝업을 허용합니다.

Ajax 호출 전에 빈 창을 열고 참조를 유지 한 다음 ajax 호출이 완료된 후 URL을 설정하면이 문제를 해결할 수 있습니다.

0

본질적으로 식별하여 열어 본 대화 상자를 사용하지 않는 이유는 무엇입니까?

$(document).ready(function() { 
     $("#divAccountDialog").dialog(
      { 
       modal: true, 
       autoOpen: false, 
       width: 700, 
       buttons: { Cancel: function() { $(this).dialog("close"); } } 
      } 

     ); 
    }); 

someotherfunction() { $ ('#의 divAccountDialog') 대화 상자 ('열기').;

관련 문제