javascript - 如何使用 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(); }
你能给我一个提示吗?
解决方案
我有同样的问题,我找到了解决方案:小米浏览器不支持下载文件作为数据URI,所以你必须将文件上传到你的服务器(我使用AJAX和php),然后将href属性设置为文件位置在您的服务器上: element.setAttribute('href', '/mifiles/'+filename);
用户下载后,不要忘记从服务器中删除文件。
推荐阅读
- python - 重命名作为数字的 Pandas DataFrame 列
- java - POJ-2663 Tri Tiling 问题:我的解决方案有什么问题?
- react-native - 无法使用 VSCode 调试 React Native
- python - 如何使用 pyserial 从调制解调器获得有序的响应
- sql - SQL 和 JPQL 查询 - 搜索具有给定日期的参数分组的所有记录
- azure - 我们可以在 TFS 2018 中代表其他人创建工作项吗?
- c# - 'ElementNotVisibleException:元素不可交互'错误定位谷歌搜索按钮,即使元素在谷歌主页上等待
- hibernate - 多对多映射显示不正确的结果
- sql-server - 用于 Kakfa Connect 的 Debezium SQLServerConnector 不在 Kafka 中创建主题
- php - foreach 循环仅在循环中输出第一个值