window.location.href 导致referer丢失
时间: 2024-08-26 08:02:13 浏览: 261
IE下通过a实现location.href 获取referer的值
`window.location.href` 是JavaScript中用于获取或设置当前页面URL的一个属性。当你直接使用它来改变页面地址,比如 `window.location.href = 'new-url.com';` 时,通常浏览器会发送一个新的HTTP请求到新的URL,这个请求被称为"直接链接",不会包含来源(即referrer)信息,因为这种跳转不是通过点击超链接或表单提交等常规用户交互产生的。
如果你需要保留当前页面的 referer 或者是为了跟踪来源,可以考虑使用其他方法,如:
1. 使用`<a>`标签的`href`属性,并让用户的点击触发跳转,这样就会自动携带referrer:
```html
<a href="new-url.com" rel="noopener noreferrer">点击跳转</a>
```
2. 如果是在服务器端进行重定向,可以将referer信息作为查询字符串或cookie的一部分传递。
3. 使用JavaScript的Fetch API或者其他库(如axios),它们提供更精细的控制,可以在发起请求时手动添加头信息,包括referer:
```javascript
fetch('new-url.com', {headers: {'Referer': document.referrer}});
```
阅读全文