sup*_*lle 9 javascript greasemonkey
该脚本为视频添加了下载链接(在特定站点上).下载时如何将文件名更改为其他内容?
Example URL:
"http://website.com/video.mp4"
Example of what I want the filename to be saved as during download:
"The_title_renamed_with_javascript.mp4"
Run Code Online (Sandbox Code Playgroud)
您无法使用客户端 JavaScript 执行此操作,您需要设置响应标头...
。网
Response.AddHeader("Content-Disposition", "inline;filename=myname.txt")
Run Code Online (Sandbox Code Playgroud)
或者PHP
header('Content-Disposition: inline;filename=myname.txt')
Run Code Online (Sandbox Code Playgroud)
还可以使用您选择的其他服务器端语言。
这实际上可以通过JavaScript实现,但浏览器支持会有点不稳定.您可以使用XHR2将文件从服务器下载到浏览器作为Blob,创建Blob的URL,创建一个锚点,将其href属性设置为该URL,将download属性设置为您想要的文件名,然后单击链接.这适用于Google Chrome,但我尚未在其他浏览器中验证支持.
window.URL = window.URL || window.webkitURL;
var xhr = new XMLHttpRequest(),
a = document.createElement('a'), file;
xhr.open('GET', 'someFile', true);
xhr.responseType = 'blob';
xhr.onload = function () {
file = new Blob([xhr.response], { type : 'application/octet-stream' });
a.href = window.URL.createObjectURL(file);
a.download = 'someName.gif'; // Set to whatever file name you want
// Now just click the link you created
// Note that you may have to append the a element to the body somewhere
// for this to work in Firefox
a.click();
};
xhr.send();
Run Code Online (Sandbox Code Playgroud)