我有一个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它工作正常。
任何帮助将不胜感激
答案 0 :(得分:1)
您是否可以尝试将onclick更改为此类内容(用于调试目的)
onclick =“try {window.location ='page2.html';} catch(e){alert('error:'+ e);}”
如果发生运行时错误,则应提醒您。
另一方面,我有点担心在您的应用中更改页面/内容的技巧。如果您没有正确实现此功能,则可能会遇到内存问题。您是否考虑过使用任何处理加载/卸载页面片段的框架?
查看bbUI.js如何做到这一点..
“bbUI工具包以最优化的方式为目标操作系统构建应用程序的UI。它遵循单个网页的方法,将网页作为HTML片段加载到其中。每个屏幕都是自己的HTML片段文件。然后,工具包使用AJAX从屏幕上推出和弹出屏幕。工具包管理屏幕堆栈并加载内容。这确保了设备内存的最佳使用。“