// ajax process $.ajax({ url:"url주소", method:"POST", data:formData, dataType:"html", success: eventSuccess, error: function(xhr, status, error) {alert(error);} }); function eventSuccess(data) { window.open("주소","_blank"); }
위와 같이 하게 되면, 크롬에서는 팝업을 블락(차단) 처리 해버립니다. 여러가지 테스트를 해본 결과로는, 자바스크립트의 함수를 호출(혹은 이벤트 발생) 후 일정 시간 뒤에 팝업이 실행되는 경우에, 차단하는 것이 아닐까 추측해봅니다.
결론적으로는, 다음과 같이 해결을 하였습니다.
// 미리 팝업을 띄워놓고. var w = window.open("about:blank","_blank"); // ajax process $.ajax({ url:"url주소", method:"POST", data:formData, dataType:"html", success: eventSuccess, error: function(xhr, status, error) {alert(error);} }); function eventSuccess(data) { //여기서 팝업된 창의 주소를 변경하자. w.location.href = "팝업주소"; }
팝업창을 미리 띄워놓은 후에, 그 주소를 변경하는 방식입니다.
출처 = http://e2xist.tistory.com/553
'Jquery' 카테고리의 다른 글
jquery(.before.after,.append,prepend) 사용기 (0) | 2018.01.30 |
---|---|
정규식 표현 전/후방 탐색 (0) | 2018.01.24 |
jquery 팁 (0) | 2018.01.22 |
동적 태그 생성시 이벤트 안먹힐시 해당코드작성 (0) | 2016.05.19 |
jquery 태그넣기 (0) | 2015.10.28 |