如何绕过浏览器的弹窗拦截机制
生活随笔
收集整理的這篇文章主要介紹了
如何绕过浏览器的弹窗拦截机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在chrome的安全機制里面,非用戶觸發的window.open方法,是會被攔截的。舉個例子:
var btn = $('#btn'); btn.click(function () {//不會被攔截window.open('http://cssha.com') });?
上面的代碼中,window.open是用戶觸發的時候,是不會被攔截的,可以正常打開新窗口。再看下面這個:
var btn = $('#btn'); btn.click(function () {$.ajax({url: 'ooxx',success: function (url) {//會被攔截window.open(url);}}) });?
上面的代碼中,用戶沒有直接出發window.open,而是發出一個ajax請求,window.open方法被放在了ajax的回調函數里,這樣的情況是會被攔截的。
那么,當用戶點擊按鈕,發出ajax請求,如何在ajax請求完成后再打開新窗口,又不被攔截呢? 接著往下看:
var btn = $('#btn'); btn.click(function () {//打開一個不被攔截的新窗口var newWindow = window.open();$.ajax({url: 'ooxx',success: function (url) {//修改新窗口的urlnewWindow.location.href = url;}}) });?
上面的代碼中,用戶安點擊按鈕的時候,先打開一個空白頁,再發ajax請求,在ajax回調里面修改新窗口的.location.href,這樣就不會被攔截啦啦啦啦~~~
轉載于:https://www.cnblogs.com/zrp2013/p/5139802.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的如何绕过浏览器的弹窗拦截机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用MySQL验证Open***用户登录
- 下一篇: 2017年html5行业报告,云适配发布