ajax 리 셋 새 창 열기 브 라 우 저 차단 방지 효과 적 인 방법

ajax 리 셋 새 창 을 열 어 브 라 우 저 차단 을 방지 합 니 다!
문제 분석:

function click_fun(){ 
   window.open("www.baidu.com");//    
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    success: function (data) { 
      window.open("www.baidu.com");//    
    }, 
    error:function(){ 
 
    } 
  }); 
} 
분석:
새 창 을 열 면 이벤트 내 에서 만 터치 할 수 있 습 니 다.이벤트 내 리 셋 함수 내 에서 창 을 열 면 차단 되 고 브 라 우 저 는 광고 팝 업 창 과 같은 코드 라 고 생각 합 니 다.
해결 1:

function click_fun_new(){ 
  var tempwindow=window.open();//       ,          ,      
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    success: function (data) { 
      tempwindow.location = "www.baidu.com";//                
    }, 
    error:function(){ 
      tempwindow.close();//                       
    } 
  }); 
} 
해결 2:

function click_fun_new(){ 
  var flag = false; 
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    'async':false,//     
    success: function (data) { 
      $("#a").attr("href","www.baidu.com");//                 a   href 
      flag = true;//     
    }, 
    error:function(){ 
       
    } 
  }); 
  if(flag){ 
    $("#a").click();//href          
  } 
} 
이상 은 ajax 리 셋 으로 새 창 을 열 어 브 라 우 저 차단 을 방지 하 는 두 가지 방법 입 니 다.여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기