window.open 返回true 才下载
时间: 2023-11-18 20:45:00 浏览: 30
对的,window.open() 函数在打开新窗口时会返回一个布尔值。如果新窗口成功打开,则返回 true,否则返回 false。你可以利用这个特性来控制下载行为。例如,你可以在点击下载按钮时先使用 window.open() 打开一个新窗口,并在新窗口中进行下载操作,然后根据 window.open() 的返回值来判断是否继续执行下载操作。只有当 window.open() 返回 true 时,才会进行下载。
相关问题
window.open修改下载附件名
您可以使用以下代码来修改通过window.open()方法下载的文件名:
```javascript
function downloadFile(url, filename) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function() {
if (xhr.status === 200) {
var blob = new Blob([xhr.response], {type: 'application/octet-stream'});
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = filename;
a.click();
URL.revokeObjectURL(url);
}
};
xhr.send();
}
// 使用方式
downloadFile('http://example.com/file.pdf', 'new_filename.pdf');
```
这将创建一个XHR请求来下载文件,然后使用创建一个下载链接并模拟点击下载链接的方式来实现文件下载。您可以在downloadFile()函数中传入文件的URL和您想要的新文件名。
window.open 对象
window.open是JavaScript中的一个方法,用于在浏览器中打开一个新的窗口或标签页。它的语法如下:
window.open(url, target, features, replace);
参数说明:
- url:要打开的URL地址,可以是一个绝对路径或相对路径。
- target:指定打开方式的目标窗口或标签页的名称。常用的取值有"_blank"(在新窗口或标签页中打开)、"_self"(在当前窗口或标签页中打开)等。
- features:一个可选的字符串参数,用于指定新窗口或标签页的特性,如大小、位置、工具栏等。具体的特性取决于浏览器的支持。
- replace:一个可选的布尔值参数,表示是否替换浏览器历史记录中的当前页面。如果设置为true,则在打开新窗口或标签页后,当前页面将被替换掉。
使用window.open方法可以实现一些常见的功能,比如弹出广告窗口、打开新的浏览器窗口等。