[Javascript] 開新視窗、開新分頁不被阻擋彈出式視窗
2017-12-08
算是一個小技巧,最近因為同事在測試剛好討論一下,查了很多網站,作法不一而且很多測試都不成功了,所以想說就筆記一下,目前可看到可用的作法。
首先,我講一下使用案例,這案例是,我得先透過 ajax 從 data.js 拿到資料,之後我得開新視窗這後就會彈出
Code :
function newwin() { window.open('https://msdn.microsoft.com/zh-tw/', '_blank'); } $('#btn1').click(function () { $.ajax({ url: '/data.js', dataType: 'json', success: function (data) { newwin(); } }); });
接下來是一個修正,在從data.js 取回回來後,之後再呼叫一個 newsite.js 然後, newsite.js 裡面就是很單純一個網址,所以透過 ajax 呼叫完 data.js 後,之後再呼叫 newsite.js 並且打開 newsite.js 的網址並且開新分頁。
$('#btn2').click(function () { //一定要放在呼叫ajax 之前 var w = window.open(''); $.ajax({ url: '/data.js', dataType: 'json', success: function (data) { $.ajax({ url: '/newsite.js', dataType: 'text', success: function (data) { w.location = data; } }); } }); });
這樣很神奇的,就可以開新分頁成功,我算是簡化中間的操作,讓之後要用的人可以快速了解,有需要的話就自行取用吧。
source sample : https://github.com/donma/opnenewlinksample
reference : http://theandystratton.com/2012/how-to-bypass-google-chromes-javascript-popup-blocker
標籤:
ASP.net
,
Javascript
,
Trick
,
WebService
-- Yesterday I wrote down the code. I bet I could be your hero. I am a mighty little programmer. 如果這篇文章有幫助到您,簡單留個言,或是幫我按個讚,讓我有寫下去的動力...