我如何让一个cordova6.1应用程序在iOS网站上embedded一个iframe?
直到我最近build立,我的cordova应用程序能够embedded一个网站的iframe就好了; 现在,大概在更新之后,我忘记了,构build应用程序结果的iframe在iOS上是空白的,但在Android中工作。
我已经将以下设置添加到config.xml中:
<access origin="*"/> <access origin="*.pushwoosh.com" /> <access origin="*.hoby.org" /> <allow-navigation href="*" /> <allow-intent href="*" />
以及以下内容安全策略:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
基本上应该允许一切。 我join了cordova-whitelist插件,使用了cordova 6.1.0和Ionic 1.7.14
编辑:它实际上在iOS模拟器上工作,但不是当我在设备上运行它。
编辑2:它似乎可能是一个移动Safari浏览器的问题; 我正在查看我的networking上的文件,甚至在cordova以外的文件都没有正确加载。 我可以确认的是,至less在几天之前这个工作正在进行。
@Phil,
你的whitelist
插件的应用程序是接近的,但可能是失败的,因为你的index.html中有javascript。 CSP
已经阻止了许多开发者。 最简单的做法是将所有的Javascript和CSS移动到他们自己的单独文件中。
简而言之,这是一个广泛应用的解决scheme:
另外,从Cordova Tools 5.0.0 (2015年4月21日)开始, whitelist
系统是必需的。 对于Phonegap Build ,这意味着自cli-5.1.1
(2015年6月16日)
添加到你的config.xml
<plugin name="cordova-plugin-whitelist" source="npm" spec="1.1.0" /> <allow-navigation href="*" /> <allow-intent href="*" /> <access origin="*" /> <!-- Required for iOS9 -->
注意你的应用程序现在是INSECURE。 这是由你来保护你的APP。
将以下内容添加到您的index.html
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'self' 'unsafe-inline' 'unsafe-eval'; script-src * 'self' 'unsafe-inline' 'unsafe-eval';">
注意你的应用程序现在是INSECURE。 这是由你来保护你的APP。
这个白名单工作表应该有所帮助。
如何将Cordova / Phonegap应用于白名单系统
- Phonegap /cordova2.3.0 iOS白名单被忽略
- 如何从IOS浏览器播放SWFanimation文件?
- 为什么设备旋转时我的Cordova / PhoneGap iOS应用程序不能旋转?
- presentOpenInMenuFromRect不工作DocumentHandler.h – QuickLook
- IONIC / cordova,在IOS中打电话
- 强制iOS应用程序在Safari中打开外部链接
- iOS App Store提交:Missing icon(Cordova)
- Apache Cordova / Visual Studio 2015工具无法在IOS模拟器中启动应用程序
- 从jquerymobile 1.2.1迁移到1.4.5