是否可以在Windows上的Cordova移动应用程序中加载外部网站?

是否可以在Windows上的Cordova移动应用程序中加载外部网站?,cordova,windows-phone-8,visual-studio-cordova,Cordova,Windows Phone 8,Visual Studio Cordova,我已经使用创建了默认的Cordova应用程序 cordova create ... cordova platform add android cordova platform add windows 在index.html中,我添加了一些指向非本地安装html文件的外部网站的链接: <a href="http://www.example.com">External Website</a> <a href="http://dev2.prsx.net">Exte

我已经使用创建了默认的Cordova应用程序

cordova create ...
cordova platform add android
cordova platform add windows
在index.html中,我添加了一些指向非本地安装html文件的外部网站的链接:

<a href="http://www.example.com">External Website</a>
<a href="http://dev2.prsx.net">External Intranet Site</a>
在安卓系统中,点击这些链接可以在Cordova容器中打开站点。这就是我想要的行为。在Windows上,它会在外部Internet Explorer浏览器中调出example.com页面。单击dev2.prsx.net链接时,不会发生任何事情。从字面上说,什么也没发生。它不会打开浏览器,不会以任何方式更改屏幕,Visual Studio中没有错误消息

需要注意的是,我希望在Cordova容器中加载intranet站点,因为外部站点还将包括Cordova.js文件和我将使用的插件。这在安卓系统上有效。但现在,我只想知道我是否可以在Windows上加载外部页面

有可能在Windows平台上复制Android中的行为吗

编辑:
我进入package.windows.appxmanifest文件并查看了“功能”选项卡。我打开了专用网络功能,现在我的intranet站点确实加载到外部IE浏览器中。所以现在我唯一的问题是,我可以在Cordova容器中加载站点吗?

你可以用它打开网页,比如var ref=window.open,“_blank”,“location=yes”

我发现唯一有效的方法是创建iFrame或x-ms-webview来加载远程内容。这基本上就是InAppBrowser为您所做的。然而,我的问题是,我希望远程内容能够调用Cordova API。为了实现这一点,我使用在webview和可以访问API的父本地页面之间来回传递消息。我使用webview上的MSWebViewScriptNotify事件和本文所述的invokeScriptAsync方法执行此操作:

在单击事件中使用此方法,然后在应用程序中安装InAppBrowser

var ref=cordova.InAppBrowser.open,“_blank”,“location=no”


这与您想要的完全一样

根据InApp Browser的文档,空白目标将在InApp Browser中加载页面,而不是在Cordova视图中加载。这意味着加载的网页无法访问Cordova API。