页面包含一个播放器,您可以在其中查看给定列表中的视频。当前在播放器中运行的视频应该可以下载到磁盘。所以播放器旁边有一个按钮download
,它启动一个纯粹的javascript函数downloadClip()
。这是代码:
function downloadClip() {
if (media.currentSrc="") return;
var url =media.currentSrc;
var file = url.substring(url.lastIndexOf('/')+1);
// Mac -> works with Safari 8.0.6, FireFox 37.0.2, Chrome 41.0.2272.64
// WIN -> works with FireFox 38.0.5, Chrome 43.0.2357.130m
if (!window.ActiveXObject) {
var hyperlink = document.createElement('a');
hyperlink.href = 'loadmovie.php?file='+file;
hyperlink.download = file;
var mouseEvent = new MouseEvent('click', {
view: window,
bubbles: true,
cancelable: true
});
hyperlink.dispatchEvent(mouseEvent);
}
// for IE
else
if ( !! window.ActiveXObject && document.execCommand) {
var _window = window.open(media.currentSrc, '_blank');
_window.document.close();
_window.document.execCommand('SaveAs', true, url || media.currentSrc)
_window.close();
}
}
我在这里从SA获得了这个脚本,但我必须说我不知道这是否是下载文件的最佳(简单)方式。无论如何,它适用于上面提到的浏览器。 我的问题是IE。正如我发现ActiveXObject从IE11开始隐藏在DOM中,如同here所写。但我只能在提供的笔记本电脑上访问IE11,而我无法测试早期的版本。所以我想问是否有人可以给我提示/支持如何将文件下载到磁盘的问题:
a)IE11(不再支持ActiveXObject) b)IE10及以前。
请注意:我只使用纯粹的js
欢迎使用官方文档和代码示例的任何链接。