js 通过URL下载PDF文件
时间: 2024-09-13 15:18:30 浏览: 36
在JavaScript中,通常不直接支持通过URL下载PDF文件,因为浏览器的安全策略限制了HTML5的`fetch`、`XMLHttpRequest`等API对资源的直接下载能力。不过,你可以利用一些技巧间接地实现这个功能,比如:
1. 使用`a`标签:创建一个新的`<a>`元素,设置其`href`属性为PDF链接,然后触发点击事件(`click`)模拟下载。示例代码如下:
```javascript
const link = document.createElement('a');
link.href = 'https://example.com/file.pdf';
link.download = 'file_name.pdf'; // 下载名称
link.click();
```
2. 创建隐藏的`iframe`:将PDF链接放入一个不可见的`iframe`中,让它发起请求。然后监听`load`事件,当加载完成时触发下载。这种方法可能因浏览器差异而有所不同,例如Chrome不支持。
```javascript
const iframe = document.createElement('iframe');
iframe.src = 'https://example.com/file.pdf';
document.body.appendChild(iframe);
iframe.onload = function() {
iframe.contentWindow.location.reload(true); // 为了触发下载
setTimeout(() => {
document.body.removeChild(iframe);
}, 0);
};
```
请注意,上述方法可能不会立即显示下载对话框,用户需要手动刷新页面或查看开发者工具的网络面板确认下载。