首頁  >  文章  >  web前端  >  window.open()彈跳窗被瀏覽器攔截的解決方法

window.open()彈跳窗被瀏覽器攔截的解決方法

不言
不言轉載
2019-03-20 10:15:415919瀏覽

這篇文章帶給大家的內容是關於window.open()彈跳窗被瀏覽器攔截的解決方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

什麼情況下會彈出視窗被攔截

當window.open為使用者觸發事件內部或載入時,不會被攔截,一旦將彈出程式碼移到ajax或是一段非同步程式碼內部,馬上就出現被攔截。

    obj.onclick = function(){
         window.open(url)     // 会被拦截
    }
    obj.onclick = function () {
        ajax({
            url: '/xxxxxx/',
            success: function (url) {
                window.open(url);  //会被拦截
             }
        })
    }
});  

解決

    
    obj.onclick = function () {
        var newWindow = window.open();  //先在回调函数之前打开新窗口,后再加载url
        ajax({
            url: '/xxxxxx/',
            success: function (url) {
                newWindow.location.href = url;
            }
        })
    }

這篇文章到這裡就已經全部結束了,更多其他精彩內容可以關注PHP中文網的JavaScript教學影片專欄!

#

以上是window.open()彈跳窗被瀏覽器攔截的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除