HTML页面通过链接或window.open打开外部链接报400错误解决
101
2022-04-12
同事制作的项目中,出现了一个奇怪的问题。
在页面中通过window.open
打开一个外部链接,页面显示400 Bad Request
错误,但在地址栏再次回车页面就可以正常显示了。
这里通过一个简单的HTML页面来还原现场,将下面的源码保存为html文件,并通过HTTP服务(如:nginx)部署访问,不论通过直接点击链接跳转,还是js方式window.open,都出现同样的问题。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
function a() {
window.open('https://caers.adrs.org.cn/adrcos/','_blank', '', true);
}
</script>
</head>
<body>
<a href="javascript:a()">测试链接1</a>
<a href="https://caers.adrs.org.cn/adrcos/" target="_blank">测试链接2</a>
</body>
</html>
经过潜心琢磨和研究,通过浏览器开发者工具发现Referer : http://192.168.1.21:8081/
,应该就是它起了作用。
将页面源码加一行meta信息就解决问题了。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="referrer" content="never">
<meta name="referrer" content="no-referrer">
<script>
function a() {
window.open('https://caers.adrs.org.cn/adrcos/','_blank', '', true);
}
</script>
</head>
<body>
<a href="javascript:a()">测试链接1</a>
<a href="https://caers.adrs.org.cn/adrcos/" target="_blank">测试链接2</a>
</body>
</html>
- 0
- 0
-
分享