Javascript 使用Internet Explorer下载文件(电影)
页面包含一个播放器,您可以在其中查看给定列表中的视频。当前在播放器中运行的视频应该可以下载到磁盘。因此,在播放器旁边有一个按钮下载,它启动了一个纯javascript函数downloadClip。代码如下:Javascript 使用Internet Explorer下载文件(电影),javascript,internet-explorer,Javascript,Internet Explorer,页面包含一个播放器,您可以在其中查看给定列表中的视频。当前在播放器中运行的视频应该可以下载到磁盘。因此,在播放器旁边有一个按钮下载,它启动了一个纯javascript函数downloadClip。代码如下: function downloadClip() { if (media.currentSrc="") return; var url =media.currentSrc; var file = url.substring(url.lastIndexOf('/'
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中。但我只能在提供的笔记本电脑上访问IE11,无法测试早期版本。因此,我想问的是,是否有人可以给我一些提示/支持,告诉我如何使用以下工具将文件下载到磁盘:
IE11不再支持ActiveXObject
b IE10及之前
请注意:我只使用纯js
欢迎链接到官方文档和代码示例。您可以尝试通过X-UA-Compatible强制IE使用旧版本,请参见。此外,IE还有开发者工具按F12键,您可以手动选择使用的IE版本。@kecer-谢谢您的建议。我从链接讨论中了解到,如果您使用与X-UA兼容的元标记,那么您的浏览器仅限于此给定版本,即IE=8。事实上,我需要一种方法来涵盖所有可能的版本,无论是否支持ActiveXObject。