美文网首页
如何绕过浏览器的拦截

如何绕过浏览器的拦截

作者: liuchungui | 来源:发表于2019-02-21 23:32 被阅读0次

    最近做一个功能,需要在用户点击按钮之后,服务器处理一些事情后,给用户弹出一个窗口操作,但是Chrome毫不留情就把窗口拦截了。除非,用户主动给你开启允许弹窗的权限。但,往往用户并不知道怎么操作,那作为开发的我们如何绕过浏览器的拦截呢?

    首先,经过查阅和分析,用户主动点击按钮弹出来的框会被拦截;而我们请求数据后或在定时器中写的弹框会被拦截。

    基于上面,我们可以使用两种方式绕过浏览器的拦截。

    第一种,当用户点击之后,立马打开一个新的空白页面窗口,然后请求数据,等操作完成后将数据灌入新的窗口,实现如下:

    var btn = $('#btn');
        btn.click(function () {
            //打开一个不被拦截的新窗口
            var newWindow = window.open();
     
            $.ajax({
                url: 'ooxx',
                success: function (url) {
                    //修改新窗口的url
                    newWindow.location.href = url;
                }
            })
        });
    

    注:代码来源于 如何绕过chrome的弹窗拦截机制

    这种方式的好处是直接打开了一个新的窗口,不过,要做的流畅,需要在新的空白页面下功夫。例如,在空白页面导入一个加载的动画,让用户耐心等待一下。

    第二种,当处理完数据之后,弹出一个Alert,让用户点击,从而顺利进入想要的页面

    这种方式实现起来比较简单,只是给用户多了一个点击的操作。

    最后

    最后,我们选择了第一种,能节省一步,就尽量为用户节省一步。

    相关文章

      网友评论

          本文标题:如何绕过浏览器的拦截

          本文链接:https://www.haomeiwen.com/subject/hwpjyqtx.html