首页 > 解决方案 > 如何使用 Mi 浏览器(小米)通过 vanilla JS 下载 HTML?

问题描述

我在小米浏览器下遇到了我的代码问题。我找不到将我的页面的一部分下载为 html 的 vanilla javascript 解决方案。在 Chrome 或 Firefox 上运行的代码在 Mi 中不起作用。我的部分代码:

var elHtml = ""+document.getElementById("hlavicka").innerHTML +""+ document.getElementById("stranka").innerHTML + "";
        
    if (navigator.msSaveBlob) { // IE 10+
        navigator.msSaveBlob(new Blob([elHtml], { type: mimeType + ';charset=utf-8;' }), 文件名);
    } 别的 {
        var link = document.createElement('a');
      document.body.appendChild(link);
        哑剧类型 = 哑剧类型 || '文本/普通';

        link.setAttribute('下载', 文件名);
        link.setAttribute('href', 'data:' + mimeType + ';charset=utf-8,' + encodeURIComponent(elHtml));
        链接.click();
    }

你能给我一个提示吗?

标签: javascriptmi

解决方案


我有同样的问题,我找到了解决方案:小米浏览器不支持下载文件作为数据URI,所以你必须将文件上传到你的服务器(我使用AJAX和php),然后将href属性设置为文件位置在您的服务器上: element.setAttribute('href', '/mifiles/'+filename);

用户下载后,不要忘记从服务器中删除文件。


推荐阅读