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

window.open() makes my app crash on blackberry10

我正在为我的 blackberry10 申请而苦苦挣扎。基本上,我想通过按下确认对话框中的按钮来打开我的应用程序的 BlackBerry World 页面。

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

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

对于investigate/solve这个问题是否有进一步的提示或提示?

我使用另一个 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 );
    }
}