如何繞過chrome的彈窗攔截機制

在chrome的安全機制裏面,非用戶觸發的window.open方法,是會被攔截的。

例如事件觸發的js是不會被攔截的:

var btn = $('#btn');
btn.click(function () {
    ...
    ...
    ...
    //不會被攔截
    window.open('http://cssha.com')
});

再例如:

var btn = $('#btn');
btn.click(function () {

    //打開一個不被攔截的新窗口
    var newWindow = window.open();

    $.ajax({
        url: 'ooxx',
        success: function (url) {

            //修改新窗口的url
            newWindow.location.href = url;
        }
    })
});

上面代碼中:用戶點擊一個按鈕,新開一個窗口,同第一個例子原理,這也不會被攔截,緊接着在這個新頁面發起一個ajax請求,然後在成功返回後,修改頁面的URL地址,這樣也是ok的,chrome也不會攔截。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章