使用cordova从blackberry10打开外部浏览器中的链接

时间:2014-04-03 09:20:11

标签: cordova blackberry-10

我正在尝试从我的blackberry10应用程序中打开本机浏览器或其他外部浏览器中的链接,但我只能在应用程序浏览器中打开它。请帮帮我。

1 个答案:

答案 0 :(得分:2)

您似乎正在使用交叉兼容的org.apache.cordova.inappbrowser插件,但默认操作是在childBrowser窗口中打开新页面。 如果要在系统浏览器中打开它,您有两个选择:

选项1:在通话中使用“_system”目标。

您的代码将如下所示

var ref = window.open('http://www.google.com', '_system');

选项2:使用BlackBerry特定的“调用”API。 为此,您需要先安装调用插件

cordova plugin add com.blackberry.invoke

现在你可以拥有一个(使用org.apache.cordova.device插件)看起来像这样的函数:

function openBlackBerryBrowser(url) {

    function onInvokeSuccess() {
        alert("Invocation successful!");
    }

    function onInvokeError(error) {
       alert("Invocation failed, error: " + error);
    }

    blackberry.invoke.invoke({
        target: "sys.browser",
        uri: url
    }, onInvokeSuccess, onInvokeError);
}

if(window.device.platform.toLowerCase().indexOf('blackberry') > -1) {
    openBlackBerryBrowser('http://www.google.com');
} else {
    var ref = window.open('http://www.google.com', '_system');
}

如果您注意到我将目标属性设置为“sys.browser”,这是默认的系统浏览器。如果用户安装了不同的浏览器,您可以指定不同的内容,例如“com.myapp.mybrowser”。