gpt4 book ai didi

ios - 在iOS下使用InAppBrowser打开本地文件不起作用

转载 作者:行者123 更新时间:2023-12-01 18:56:34 26 4
gpt4 key购买 nike

我正在使用Cordova开发移动应用程序。该应用程序允许用户使用一种文件管理器进行导航,并允许他们下载文件。我使用插件“FileTransfer”在用户设备上下载文件,然后调用InAppBrowser(0.5.2版)插件以将其打开。

虽然它在Android上确实很棒,但我不能在iOS(在版本7和8下进行测试)下说同样的话。

这是我用来打开下载文件的代码行:

window.open(entry.toURL(), "_system");

在Android下,它会向用户建议他要启动哪个应用程序以打开文件,或基于文件扩展名自动启动默认应用程序。在iOS下,文件被下载,然后什么也没有发生。我发现当用户在iOS下时,我可以使用InAppBrowser插件的集成查看器。我这样做是这样的:
if (navigator.userAgent.match(/iPhone|iPod|iPad/))
window.open(entry.toURL(), "_blank");
else
window.open(entry.toURL(), "_system");

使用这些代码行,如果用户使用的是iOS,则将启动集成查看器并显示文件。问题是ZIP文件或其他无法在查看器中呈现的文件。这个说“加载错误”。

我认为,如果“_system”有效,则Safari将启动并向用户建议他要如何打开文件。

有人知道我如何使“_system”在iOS中工作吗?这最终是否是已知问题(我找不到与我的问题相关的任何东西)?

如果这可能与我的问题有关,则我使用Phonegap Build来生成.ipa文件。

最佳答案

在iOS上,当您使用_system时,它将尝试打开通过safari传递的网址。
由于iOS具有沙箱访问限制,因此Safari无法打开该网址,因为它位于您的应用沙箱中。

您可以尝试使用该插件,它提供一个“打开方式”对话框,该对话框将向您显示支持您要打开的文件类型(如果有)的应用程序。

https://build.phonegap.com/plugins/1076

关于ios - 在iOS下使用InAppBrowser打开本地文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26377829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com