在 InApp 浏览器中显示的 Web 应用程序上调用 Cordova 插件

Calling Cordova Plugin on Web App which is Displayed in InApp Browser

我们想使用应用程序内浏览器在我们的 Cordova 应用程序上加载外部网站。我们还想让外部网站能够控制我们的 Cordova 功能/插件,例如 SMS Plugin

在应用内浏览器显示的外部网站调用Cordova插件代码是否可行?如果没有,是否有任何解决方法可以让外部网站调用 Cordova 功能?

谢谢

InAppBrowser 被设计为现在允许访问 Cordova 插件,所以你想做的事情是不可能的。

无论如何,如果你想做的是在 Cordova 应用程序中加载外部网站,你并不需要 InAppBrowser,有多种方法可以在 Cordova webview 中加载外部网站。

最简单的方法是将内容标签 src 更改为指向您的外部网站

<content src="http://www.externalwebsite.com" />

您可能需要安装白名单插件(针对 Android)并允许导航到该外部网站

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

但如果您没有互联网连接,Apple 会注意到并且不会批准您的应用程序。

这样的话你可以让内容src指向index.html,然后使用网络信息插件检测是否有网络连接,然后用window.location.href = "http://www.externalwebsite.com";重定向到外部网站(你仍然需要白名单插件)