【发布时间】:2017-11-12 16:15:45
【问题描述】:
我正在尝试让 InAppBrowser 在我的 iOS 设备上显示托管在 Cordova Local Webserver 中的本地文件。 但是,它只是出现了一个空白页面,底部有“正在加载...”栏。
我已经四处寻找解决方案,但它们似乎都回到了白名单和内容安全策略,我已经分别包含在我的 config.xml 和 index.html 中。
config.xml
...
<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />
....
index.html
...
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://*.gstatic.com https://*.googleapis.com;">
...
我尝试使用打开文件
// url is "http://localhost:8080/local-filesystem/Users/<user>/Library/Developer/CoreSimulator/Devices/E22F3966-CA8B-43E4-890B-EB078C437F54/data/Containers/Data/Application/146AFBF3-5CFF-47D1-9D51-85CFC5676761/Documents/NoCloud/Download/00P1J00000UGDF9UAP_test.pdf"
cordova.InAppBrowser.open(url, '_blank', 'location=yes');
模式打开,但只有“正在加载...”栏显示完成和导航按钮。 (这也是在deviceready之后)
我也可以使用 Safari 检查实例,但似乎没有任何内容加载到实例上(关于:空白)。
我什至尝试过
cordova.InAppBrowser.open('http://google.com', '_blank', 'location=yes');
这也会卡在加载中。
如果我使用“_self”而不是“_blank”,所有内容都会加载,但它会接管我的应用程序的 Cordova Webview 实例,这不是我想要的。使用“_system”打开系统浏览器,但不允许我显示来自我的 Cordova 本地 Web 服务器的文件。
谁能指出我在 iOS 上使用 InAppBrowser 通过模态显示本地文件或网页的正确方向?
我正在使用:
科尔多瓦 7.0.1
cordova-plugin-whitelist 1.0.0 “白名单”
cordova-plugin-inappbrowser 1.7.1 "InAppBrowser"
感谢您的帮助!
【问题讨论】:
标签: ios cordova inappbrowser