angularjs 中打开新的浏览器窗口(解决window.open(),浏览器拦截问题)

第一步:通过点击事件,打开新窗口,并且传递参数

$scope.finalTrial = function(data){
  var url = $state.href('content.checkFinalTrial')
  window.open(url+'?id='+data.id+'&type=1')
}

注:点击后需要直接调用window.open(),如果在ajax获取成功后再打开窗口,那么浏览器会阻止新窗口打开

第二步:通过$location.search()获取通过新窗口url传递的参数,并且利用参数进行ajax请求获取数据

$location.search().id

$location.search().type

第三步:关闭新窗口,并且调用父窗口(指打开新窗口的前一窗口)的事件

window.close()
opener.$('.searchBut2').click()

//window.opener.location.reload(),刷新原网页

 

posted @ 2018-06-04 10:07  雨落雪纷飞  阅读(4022)  评论(0编辑  收藏  举报