window.open打开新窗口被浏览器拦截的处理方法

本文探讨了在网页开发中实现页面跳转的多种方法,包括使用超链接、JavaScript及window.open函数,并针对非用户主动触发的跳转被浏览器拦截的问题提供了解决方案。

在平时开发中跳转新页面是我们经常遇到的,超链接直接跳转我们可以通过

<a href="http://www.tiaozhuan.com"></a>

//或者

<a href="javascript:void(0)" onclick="window.open("www.tiaozhuan.com")"></a>

//来跳转

如果在跳转之前我们需要先进行一系列的逻辑操作,那我们一般是用window.open('url')来跳转

function toTarget (url){

    //一系列代码    

    if(url){
        window.open(url)
    }

}

此时往往就会被浏览器拦截

谷歌:

因为浏览器会对非用户个人主观操作的页面跳转进行拦截,

一个简单的解决办法:

function toTarget (url){

    //一系列代码 
    
    //新建一个空白的页面
    let win = window.open()   

    if(url){
        win.location.href = url
    }else{
        win.document.body.innerHTML = "没有找到目标地址"
    }

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值