window.open()使我的应用程序在blackberry10上崩溃

时间:2016-02-10 15:50:14

标签: javascript cordova blackberry-10

我正在使用我的blackberry10应用程序。基本上我想通过按确认对话框中的按钮打开我的应用程序的BlackBerry World页面。

function onButtonPressed() {
    var url = "appworld.blackberry.com/webstore/content/XXXXXXXX"
    window.open( url, "_blank" );
}

但是在按下我的按钮后,应用程序会立即崩溃而不会在调试控制台中出现任何错误。我还尝试使用"_system"代替"_blank"但没有成功。但是在android我的方法完美无瑕。

有没有进一步的提示或技巧来调查/解决这个问题?

1 个答案:

答案 0 :(得分:0)

我使用另一个cordova插件解决了我的问题。

cordova plugin add cordova-plugin-bb-invoke

现在我可以直接打开BlackBerry World应用程序:

function openAppStore() {

    var platform = $cordovaDevice.getPlatform().toLowerCase();
    var url;

    switch( platform ) {
        case "blackberry10":
            url = "appworld://content/xxxxxxxx";
            break;
        default:
            url = "anotherPlatformUrl"
    }

    if( platform === "blackberry10" ) {
        blackberry.invoke.invoke( {
            uri    : url
        }, onInvokeSuccess, onInvokeError );
    } else {
        window.open( url, "_system" );
    }

    function onInvokeSuccess() {
        console.log( "Invoke Success!" );
    }

    function onInvokeError( error ) {
        console.log( "!!! Invoke Error: ", error );
    }
}