在 MS Edge 中保存 iFrame 的内容
Posted
技术标签:
【中文标题】在 MS Edge 中保存 iFrame 的内容【英文标题】:Saving the content of an iFrame in MS Edge 【发布时间】:2015-12-18 11:52:04 【问题描述】:我有一些 javascript 在 Edge 版本 20.x.x 中运行良好,但自从升级到 Edge 版本 25.x.x 后它就停止了工作。它应该将 iFrame 的内容保存到包含一些简单文本的文件中。值得指出的是,它仍然适用于 IE11、10 等。
txtArea1.contentDocument.execCommand("SaveAs", true, "xxxx.xls");
没有错误消息被抛出,它根本不起作用。
有没有人知道为什么会发生这种情况或可能的解决方法?
接下来我找到了一个解决方案:
var blobObject = new Blob([tableText]);
window.navigator.msSaveOrOpenBlob(blobObject, "download.xls.html");
我只是识别 IE11 或 Edge 并使用上面的,它工作正常。如果上述方法失败,旧版本仍然可以使用以前的代码。
【问题讨论】:
【参考方案1】:我更愿意创建一个链接,其download
属性指向<iframe>
的src
,并带有一些服务器检测到并添加此标头的查询字符串:
Content-Disposition: attachment; filename=xxxx.xls
【讨论】:
【参考方案2】:接下来我找到了一个使用这个的解决方案
var blobObject = new Blob([tableText]); window.navigator.msSaveOrOpenBlob(blobObject, "download.xls.html");
我只是识别 IE11 或 Edge 并使用上面的,它工作正常。如果上述方法失败,旧版本仍然可以使用以前的代码。
【讨论】:
以上是关于在 MS Edge 中保存 iFrame 的内容的主要内容,如果未能解决你的问题,请参考以下文章
jQuery UI 对话框中的 IFrame 有时不会在 Chrome 中加载内容,直到对话框被移动或调整大小(但适用于 FF 和 Edge)
.append 的 CSS 不会影响 IE/Edge 中的 iframe
jquery 代码显示权限被 IE Edge 和 iframe 拒绝
X-UA-Compatible in parent is IE=8, page in IFRAME IE=edge,chrome=1