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

时间:2015-01-20 15:39:24

标签: 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">External Intranet Site</a>

在Android中,点击这些链接可以在Cordova容器中提取网站。这是我想要的行为。在Windows上,它会在外部Internet Explorer浏览器中提取example.com页面。点击dev2.prsx.net链接后没有任何反应。从字面上看,没有任何反应它不会打开浏览器,也不会以任何方式更改屏幕,Visual Studio中没有错误消息。

应该注意的是,我想在Cordova容器中加载Intranet站点,因为外部站点还将包含我将使用的cordova.js文件和插件。这适用于Android。但是现在,我只想知道我是否可以在Windows上加载外部页面。

是否有可能在Windows平台上复制Android中的行为?

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

3 个答案:

答案 0 :(得分:2)

您可以使用org.apache.cordova.inappbrowser打开网页,例如var ref = window.open('http://apache.org','_ blank','location = yes');

答案 1 :(得分:2)

我发现有效的唯一方法是创建一个iFrame或x-ms-webview来加载远程内容。这实际上就是InAppBrowser为你所做的。但是,我的问题是我希望远程内容能够调用Cordova API。为此,我在webview和有权访问API的父本地页面之间来回传递消息。我使用webview上的MSWebViewScriptNotify事件和本文所述的invokeScriptAsync方法执行此操作:http://blogs.windows.com/buildingapps/2013/10/01/blending-apps-and-sites-with-the-html-x-ms-webview/

答案 2 :(得分:0)

在点击事件中使用此功能,然后在应用中安装InAppBrowser

var ref = cordova.InAppBrowser.open('http://apache.org','_ blank','location = no');

这完全符合您的要求