window.open跳转的地址打不开,重新访问就可以打开问题解决
问题描述:
使用window.open(‘https://www.xxx.com’, ‘__blank’);在新的浏览器页签打开第三方页面时,显示页面未找到,但是浏览器单独访问这个第三方地址,却可以正常打开。
问题场景:
某系统A单点登录跳转到系统B首页,在单点授权参数都已获取并正确拼接在地址里后,跳转显示访问异常未找到页面,但是直接访问此重定向地址则可以正常打开。
可能原因:
1、添加<meta name="referrer" content="no-referrer" />
属性。
2、如果你想要使用window.open方法打开一个新窗口,但是用户设置了浏览器,使得弹窗被拦截,那么你可以考虑使用window.location.href来代替window.open。
这样,即使用户设置了阻止弹窗,该页面也会在当前窗口中打开,不会被浏览器的弹窗拦截机制拦截。
如果你想要在新窗口中打开页面,并确保这个新窗口可以被打开,不受阻止弹窗的设置影响,你可以尝试以下方法:
// 创建一个新的浏览器窗口
var newWindow = window.open('', '_blank');
// 如果新窗口打开成功,设置新窗口的 location 属性
if (newWindow) {
newWindow.location.href = '你想要打开的页面的URL';
} else {
// 如果新窗口打开失败,可以在此处给用户提示或者执行其他操作
alert('弹窗被阻止,请检查浏览器设置。');
}
使用此方法,通过先打开一个空的浏览器窗口,然后用location.href方法替代window.open设置重定向地址的方式,可以解决此类问题。