window.location.href下载文件不跳转页面
时间: 2023-10-13 09:28:41 浏览: 282
可以通过创建一个隐藏的 `<a>` 标签,然后设置它的 `href` 属性为文件的 URL,再调用 `click()` 方法来实现下载文件而不跳转页面的效果。具体代码如下:
```javascript
function downloadFile(url) {
var link = document.createElement('a');
link.href = url;
link.download = true;
link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
```
在调用 `downloadFile(url)` 函数时,只需要传入文件的 URL 即可实现下载文件而不跳转页面的效果。
相关问题
window.location.href下载不跳转页面
.location.href是用于获取或设置当前页面的URL地址的属性,它并不会直接下载或跳转页面。如果要实现下载功能,可以通过设置window.location.href为文件的URL地址来触发浏览器的下载功能。如果要实现页面跳转,可以通过设置window.location.href为目标页面的URL地址来实现。
举例说明:
如果要实现下载功能,可以将window.location.href设置为文件的URL地址,例如:
```javascript
window.location.href = 'http://example.com/file.pdf';
```
如果要实现页面跳转,可以将window.location.href设置为目标页面的URL地址,例如:
```javascript
window.location.href = 'http://example.com/target.html';
```
window.location.href下载防止跳转页面
可以使用 `XMLHttpRequest` 对象来下载文件,并且不会发生页面跳转。具体步骤如下:
1. 创建一个 `XMLHttpRequest` 对象。
2. 设置请求的方法为 `GET`,请求的 URL 为文件的下载链接。
3. 设置 `responseType` 为 `blob`,表示响应类型为二进制数据。
4. 发送请求。
5. 在 `onload` 事件中获取响应数据,并使用 `URL.createObjectURL` 方法创建一个下载链接。
6. 创建一个 `a` 标签,将下载链接赋值给 `href` 属性,并设置 `download` 属性为文件名。
7. 模拟点击 `a` 标签进行下载。
下面是示例代码:
```javascript
function downloadFile(url, filename) {
const xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.responseType = 'blob';
xhr.onload = function() {
if (xhr.status === 200) {
const blob = xhr.response;
const downloadUrl = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = downloadUrl;
a.download = filename;
document.body.appendChild(a);
a.click();
a.remove();
}
};
xhr.send();
}
```
调用示例:
```javascript
downloadFile('http://example.com/file.pdf', 'file.pdf');
```
阅读全文