window.open新开页时页面访问不了问题
当项目中需要新开页跳转到其他网站时,最常用的方法就是使用window.open(url)来实现,最近在项目中,使用window.open()方法新开页跳转时,有些网站可以正常访问,有些则访问不了,会出现诸如:403 Forbidden、The HTTP request is not acceptable for the requested resource.等报错问题,但是单独去访问这些地址又是可以正常访问的。
问题原因:
当点击访问页面中外链地址时,会产生一个http请求(用于获取外链地址内容),此时出于安全策略(一些用户信息或登录信息会通过url传递),浏览器会在请求头中添加一个referrer,用来表示当前请求是从哪个页面跳转来的,也就是访问来源。当外链网站对访问做判断时,于是会出现诸如403 Forbidden、The HTTP request is not acceptable for the requested resource.问题。
解决方法:
在项目的index.html的<head>中加入如下<meta>代码:
// index.html
<meta name="referrer" content="no-referrer" />

本文探讨了在使用window.open方法进行跨域跳转时遇到的403Forbidden等问题,解析了浏览器referrer策略对跨域请求的影响,并提供了解决方案,即在index.html头部加入特定的meta标签。
1万+

被折叠的 条评论
为什么被折叠?



