BlackBerry Webworks Navigation问题

时间:2012-10-15 16:06:13

标签: javascript html cordova blackberry blackberry-webworks

我有一个index.html文件,其中包含几个onclick事件处理程序,可以通过这种方式重定向到其他页面:

onclick="window.location='page2.html';"

我正在使用

处理后退按钮
blackberry.system.event.onHardwareKey(blackberry.system.event.KEY_BACK, function() { 
        window.history.go(-1);
        return false;
    }); 

因为否则应用程序退出OS 6.0(5.0中不需要它)

当我从page2.html返回index.html时,index.html中的所有onclick处理程序都工作,除了重定向到我刚来自的页面的那个(在本例中为page2.html)。我尝试为onclick处理程序使用一个单独的函数,并发现它确实被触发了,但是它内部的window.location函数没有被执行。

奇怪的是,window.location函数在使用触摸屏点击时执行,但不在触控板上执行,只在6.0中执行。在5.0它工作正常。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

您是否可以尝试将onclick更改为此类内容(用于调试目的)

onclick =“try {window.location ='page2.html';} catch(e){alert('error:'+ e);}”

如果发生运行时错误,则应提醒您。

另一方面,我有点担心在您的应用中更改页面/内容的技巧。如果您没有正确实现此功能,则可能会遇到内存问题。您是否考虑过使用任何处理加载/卸载页面片段的框架?

查看bbUI.js如何做到这一点..

“bbUI工具包以最优化的方式为目标操作系统构建应用程序的UI。它遵循单个网页的方法,将网页作为HTML片段加载到其中。每个屏幕都是自己的HTML片段文件。然后,工具包使用AJAX从屏幕上推出和弹出屏幕。工具包管理屏幕堆栈并加载内容。这确保了设备内存的最佳使用。“