waw*_*los 9 javascript google-chrome blob ios
我使用docxtemplater库从javascript创建docx文档.
在桌面浏览器上,它工作正常.在移动设备上,在Android上没问题,但我在iOS上遇到了一些问题.
在iOS上,当我尝试下载或打开文档时,当我看到类型的URL时,会在浏览器中创建一个新选项卡:
blob:http://mylocalServer/987788-3524-33iuhih3334434434
Run Code Online (Sandbox Code Playgroud)
在这个新选项卡中,我看不到该文档,我没有任何方法可以下载它.
如何在iOS下检索docx文档?
以下是在JS中创建docx文档的代码:
out=doc.getZip().generate({type:"blob"});
// Give a name for the output word document
var outputName = "test.docx" ;
saveAs(out,outputName);
Run Code Online (Sandbox Code Playgroud)
saveAs函数在FileSaver.js文件中调用:
当在iOS上完成操作时,我们将抛出此代码:
fs_error = function() {
// don't create more object URLs than needed
if (blob_changed || !object_url) {
object_url = get_URL().createObjectURL(blob);
}
if (target_view) {
target_view.location.href = object_url;
} else {
var new_tab = view.open(object_url, "_blank");
if (new_tab == undefined && typeof safari !== "undefined") {
//Apple do not allow window.open, see http://bit.ly/1kZffRI
view.location.href = object_url
}
}
filesaver.readyState = filesaver.DONE;
dispatch_all();
revoke(object_url);
}
Run Code Online (Sandbox Code Playgroud)
Blob 类型应设置为,以便iOS 11 及更高版本application/vnd.openxmlformats-officedocument.wordprocessingml.document上的 Safari可以显示文档,并且用户可以手动下载它。
| 归档时间: |
|
| 查看次数: |
3449 次 |
| 最近记录: |