美文网首页
window.open()浏览器拦截问题

window.open()浏览器拦截问题

作者: shougg22 | 来源:发表于2018-06-26 14:07 被阅读0次

    一、发生拦截情景

    当window.open()发生在事件内部或者加载的时候,不会发生拦截,但是放在异步ajax里或者异步代码里,就会发生拦截

    二、解决办法

    1.var tempWindow = window.open();
    tempWindow.location.href = "url地址"

    2.利用表单提交的方式
    var form = document.createElement('form');
    form.action = 'www.baidu.com?id=1';
    form.target = '_blank';
    form.method = 'POST';
    document.body.appendChild(form);
    form.submit();
    这种方式,如果需要传递参数时,需要使用 POST 方法, 默认的get方法, 无法传递参数。也就是新页面的url中没有参数部分。
    另外,Ajax下载文件时也是用form 表单来模拟下载

    3.直接写在a标签链接的onclick事件中
    <a href="javascript:void(0)" onclick="window.open(url)"></a>

    4.将window.open()延迟处理
    setTimeout('window.open("url地址");', 1000);

    参考:https://blog.csdn.net/yypsober/article/details/79487217

    相关文章

      网友评论

          本文标题:window.open()浏览器拦截问题

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