在 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)

停止 IE/Edge 窗口大小调整为 iframe 尺寸

.append 的 CSS 不会影响 IE/Edge 中的 iframe

在没有“保存按钮”颜色框的情况下保存 iframe 内容

jquery 代码显示权限被 IE Edge 和 iframe 拒绝

X-UA-Compatible in parent is IE=8, page in IFRAME IE=edge,chrome=1