window.open() 方法是用于在新窗口或标签页中打开一个 URL 的 JavaScript 方法。如果在调用 window.open() 方法时,URL 的协议与当前页面的协议不同,浏览器可能会阻止弹出窗口,或者将其视为弹出广告窗口而将其拦截。
如果您的接口返回的链接是 HTTP 协议的,而您的网站是 HTTPS 协议的,浏览器可能会阻止弹出窗口,或者将其视为弹出广告窗口而将其拦截。这可能导致链接无法正常打开,或者跳转到首页。
解决方法是将您的网站升级为 HTTPS 协议,或者将您的接口返回的链接改为 HTTPS 协议的。这样可以避免浏览器拦截弹出窗口或将其视为弹出广告窗口。
解决方法:
除了升级协议外,您还可以在调用 window.open() 方法时,将第三个参数设置为一个字符串,用于指定新窗口的特性。例如,您可以将特性字符串设置为 "noopener",以防止新窗口访问父窗口,从而提高安全性。示例代码如下:
window.open(url, '_blank', 'noopener');
此外,您还可以在调用 window.open() 方法时,将第三个参数设置为一个空字符串,以避免浏览器将新窗口视为弹出窗口或弹出广告窗口。示例代码如下:
window.open(url, '_blank', '');
这些方法都可以帮助您避免新窗口被浏览器拦截或跳转到首页。