• 下周文件ie 谷歌兼容性处理


    https://blog.csdn.net/u014628388/article/details/81738704

    问题描述
    window.URL.createObjectURL()可以直接生成blob:开头的链接,该链接产生于浏览器端,不会占用服务器资源。

    window.URL.createObjectURL()在IE10, IE11以及Microsoft Edge中生成的blob:链接,你不能把它加到一个<a>节点上,也不能直接在浏览器地址栏打开访问,并且得到“Error: 拒绝访问。”错误。open links made by window.URL.createObjectURL in IE/Edge这样的提问到处都是,IE9根本不支持window.URL.createObjectURL创建Blob URLs就更惨了。

    Microsoft Internet Explorer / Microsoft Edge和高大上的Google Chrome / Mozilla Firefox对于window.URL.createObjectURL创建Blob链接最直观的区别在于得到的blob:链接形式不一样,分别在微软浏览器和标准浏览器中运行以下代码,得到两种Blob链接形式

    第一种为chrome和firefox生成的带有当前域名的标准blob:链接形式
    第二种为Microsoft IE和Microsoft Edge生成的不带域名的blob:链接。
    可以通过window.URL.createObjectURL(new Blob()) . indexOf(location.host) < 0来检测是否是IE或早期生成Object URL不带域名的Edge。如果表达式返回true则时IE或Edge旧版本。

    解决方案
    Blob URL  is not supported by IE due to security restrictions.

    IE has its own API for creating and downloading files, which is called msSaveOrOpenBlob.

    Here is my cross-browser solution that works on IE, Chrome and Firefox:

    var download_csv_using_blob = function (file_name, content) {
    var csvData = new Blob([content], { type: 'text/csv' });
    // for IE
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
    window.navigator.msSaveOrOpenBlob(csvData, file_name);
    }
    // for Non-IE (chrome, firefox etc.)
    else {
    var a = document.createElement('a');
    document.body.appendChild(a);
    a.style = 'display: none';
    var url = window.URL.createObjectURL(csvData);
    a.href = url;
    a.download = file_name;
    a.click();
    a.remove();
    window.URL.revokeObjectURL(url);
    }
    };
     
    ---------------------
    作者:杨勇Angus
    来源:CSDN
    原文:https://blog.csdn.net/u014628388/article/details/81738704
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    linux 中mysql的安装过程
    HashMap和Hashtable的区别
    SVN服务器配置(svn1.4.6+apache2.2.8 no ssl)
    ArrayList Vector LinkedList 区别与用法
    java中equals和==的区别
    flash滤镜
    AS3显示对象
    feathers ui 鼠标移出事件
    Flex 中可以应用于 ActionScript 类的元标签
    pureMVC与RobotLegs actionscript MVC框架对比
  • 原文地址:https://www.cnblogs.com/liuqiyun/p/10876316.html
Copyright © 2020-2023  润新知