在Ionicframework(Phonegap)中打开外部URL

时间:2015-02-12 05:16:33

标签: javascript ios cordova ionic-framework

我尝试在ionicframework中调用本机浏览器来打开没有插件的URL。

代码:

if(ionic.Platform.isAndroid()) {
    navigator.app.loadUrl(url, {openExternal : true});
}else if(ionic.Platform.isIOS()) {
    window.open(url, '_system');
}

事实上,app可以在Android中调用浏览器,但在ios中,它将取代当前的应用视图,而不是打开浏览器。

请建议。

1 个答案:

答案 0 :(得分:4)

你只需要做这样的事情,看起来你的设备没有准备好: - 请使用以下给定的功能(需要phonegap.js)

if(ionic.Platform.isIOS()) {
 {
    // Wait for Cordova to load
    document.addEventListener('deviceready', onDeviceReady, false);
    // Cordova is ready
    function onDeviceReady() 
    {
     // open URL in default web browser
      var ref = window.open(encodeURI(url), '_system', 'location=yes');
    }
}

以下是有关window.open函数

的一些细节

url :要加载的网址(字符串)。如果URL包含Unicode字符,则在此处调用encodeURI()。     var ref = window.open(url,target,options);

目标:第二个参数可以是:

_self:如果URL在白名单中,则在Cordova WebView中打开,否则在InAppBrowser中打开。

_blank:在InAppBrowser中打开。

_system:在系统的网络浏览器中打开。

选项:InAppBrowser的选项。可选,默认为:location = yes。 (字符串)

选项字符串不得包含任何空格,并且每个要素的名称/值对必须用逗号分隔。功能名称不区分大小写。所有平台都支持以下值:

位置: closebuttoncaption: 清除缓存: clearsessioncache: