Web 小部件无法在 iOS 设备上与 Apache Cordova 应用程序一起使用

Web Widgets not working with Apache Cordova app on iOS Device

我有使用 Visual Studio 和 Apache Cordova 开发跨平台移动应用程序的经验,但这是我第一次尝试将 Web 小部件集成到我的应用程序中。我正在通过 iframe 和脚本标签使用 twitter widget 和其他一些 运行 之类的东西,虽然它们出现在 visual studio 浏览器模拟器上,但它们不会出现在 iOS 设备,当我在上面安装应用程序时。

我找到了 Twitter 小部件的解决方法,感谢其他人提出了同样的问题,但我想知道为什么其他网络小部件无法在我的 iOS 设备上运行。我是否可以更改某些安全设置或配置设置,以便应用程序在 iOS 设备上 运行 这些小部件?

Cordova 应用程序不允许内部导航到外部站点,因此 iframe 无法工作,除非您明确允许导航到这些站点。

要允许导航,您必须在 config.xml 中添加一些 allow-navigation 标签,如下所示:

<allow-navigation href="http://example.com/*" />

如果您有 Content-Security-Policy 元标记,您还必须允许这样的 iframe 导航:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; frame-src 'self' http://example.com">