Phonegap navigator.app.backHistory/window.history.back无法在Blackberry Playbook上运行

Man*_*han 3 blackberry browser-history blackberry-playbook cordova

在Blackberry playbook上,正常的window.history.back不起作用.在模拟器上测试....

所以,我在index.html中尝试了这个

window.history.back = navigator.app.backHistory;
Run Code Online (Sandbox Code Playgroud)

这可以控制Phonegap函数,但在运行时它会抛出一个错误:

"Error: Status=2 Message=Class App cannot be found"
Run Code Online (Sandbox Code Playgroud)

这是Phonegap(1.4.1)功能:

/**
 * Navigate back in the browser history.
*/
App.prototype.backHistory = function() {
    // window.history.back() behaves oddly on BlackBerry, so use
    // native implementation.
    console.log("in backHistory");
    PhoneGap.exec(null, null, "App", "backHistory", []);
};
Run Code Online (Sandbox Code Playgroud)

有线索吗?

Zor*_*ayr 6

您可以编写一个可以根据定义的函数执行操作的泛型后退函数,而不是覆盖window.history.back:

function goBack(){
    if (typeof (navigator.app) !== "undefined") {
        navigator.app.backHistory();
    } else {
        window.history.back();
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定这是否能解答您的问题,但我一直在使用这种方法在移动设备和桌面浏览器上启用测试.