使用Internet Explorer

时间:2015-07-07 08:16:28

标签: javascript internet-explorer

页面包含一个播放器,您可以在其中查看给定列表中的视频。当前在播放器中运行的视频应该可以下载到磁盘。所以播放器旁边有一个按钮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

欢迎使用官方文档和代码示例的任何链接。

0 个答案:

没有答案