이번에는 ajax 요청에서 window.open 호출 차단 처리 방법을 알려드리겠습니다. ajax 요청에서 window.open 호출 차단 처리 시 주의사항은 무엇인가요? 사례를 살펴보겠습니다.
이 방법의 장점 설명: 예를 들어 ajax콜백 함수가 실패하면 기본적으로 브라우저에서 열린 빈 링크가 자동으로 닫히고 사용자 경험이 더 좋습니다.
var newwin; $("#btn").click(function(){ newwim = window.open(); //此处调用ajax,异步即可: $.ajax({ type:'POST', url: ajaxurl, dataType : 'json', data:parameter, beforeSend : function(){}, success:function(data) { if(data.TSR_CODE == "0"){ newwin.location.href = xxx;//xxx为后端返回的地址; }else{ alert(data.TSR_MSG); newwin.close();//此处为ajax失败方法,自动关闭刚才会打开的页面; } }, error:function(){ console.log("访问出错,请重试!"); }, complete:function(){} }); });
두 번째 솔루션 분석:
이 방법은 테스트되었습니다. 예를 들어 백그라운드에서 오프사이트 URL을 반환하면 Google Chrome, 360 브라우저 등이 요청을 가로채고 Firefox , QQ 브라우저는 차단되지 않을 것입니다. 브라우저 자체가 이러한 유형의 외부 URL을 차단할 것으로 예측되며, 일반 URL은 차단되지 않습니다.
$("#btn").click(function(){ //此处调用ajax,异步即可: $.ajax({ type:'POST', url: ajaxurl, dataType : 'json', async:false,//改为同步请求 data:parameter, beforeSend : function(){}, success:function(data) { if(data.TSR_CODE == "0"){ window.open(xxx); }else{ alert(data.TSR_MSG); } }, error:function(){ console.log("访问出错,请重试!"); }, complete:function(){} });
이 기사의 사례를 읽으신 후 해당 방법을 익히셨을 것입니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트 기타 관련 기사를 주목하세요!
추천 자료:
위 내용은 Ajax 요청에서 window.open 호출을 가로채는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!