Jquery mobile WebWorks用户界面结构:一个HTML中的所有内容,还是单独的文件?

Jquery mobile WebWorks用户界面结构:一个HTML中的所有内容,还是单独的文件?,jquery-mobile,blackberry-webworks,Jquery Mobile,Blackberry Webworks,设计WebWorks应用程序页面结构的正确方法是什么?我也在使用jquerymobile 答:是否所有页面都应在一个HTML中,每个页面都是: <div data-role="page">...</div> 。。。 B:页面应该在相互链接的不同HTML文件中分开吗 我目前使用的是方法A,但当从一个页面过渡到另一个页面时,应用程序速度很慢。我怀疑其中一个原因是包含所有页面的单个HTML的大小 还有一个问题是,按下手机上的“后退”按钮会退出应用程序,这也是我怀疑将所有页面

设计WebWorks应用程序页面结构的正确方法是什么?我也在使用jquerymobile

答:是否所有页面都应在一个HTML中,每个页面都是:

<div data-role="page">...</div>
。。。
B:页面应该在相互链接的不同HTML文件中分开吗

我目前使用的是方法A,但当从一个页面过渡到另一个页面时,应用程序速度很慢。我怀疑其中一个原因是包含所有页面的单个HTML的大小


还有一个问题是,按下手机上的“后退”按钮会退出应用程序,这也是我怀疑将所有页面放在一个HTML中的方法的另一个原因。

您可以使用最适合您的项目的方法。对于一个大型应用程序,可能值得拥有一个“index.html”,然后链接到其他几个页面。也可以使编辑代码更容易。

一个非常固执己见的答案:您使用了错误的框架。jquerymobile非常臃肿,即使在最近的iOS设备上,我也看到它的性能很差,更不用说黑莓的操作系统性能不太好

如果您继续沿着jQuery移动路线前进,我仍然建议您将所有页面都放在一个HTML文件中,尤其是因为在不同的HTML页面之间移动时,WebWorks上的用户体验有点差强人意。例如,当你点击一个指向不同HTML文件的链接时,你会看到非常明显的“白色闪烁”,尤其是在旧的/功能较弱的设备上(尽管你可以通过在config.xml中为
rim:loadingScreen
元素设置背景色来缓解这种情况)。这取决于您来决定这比jquerymobile中的缓慢转换好还是坏

至于back按钮,您可以通过将事件处理程序附加到back键来覆盖默认行为,如下所示(不要忘记在config.xml中启用
blackberry.system.event
功能):


但是,如果您仍然愿意使用其他解决方案,我强烈建议您尝试一下bbUI.js()——这是一个半官方的框架,在BB上比jQuery Mobile看起来更自在,并且对平台进行了更好的优化(例如,允许您仅加载此时正在显示的特定页面所需的脚本,解决某些WebWorks/BB特定问题等)-将其与Zepto()结合使用这是一个极快的jQuery替代品,最终你会得到一个比基于jQuery Mobile的应用程序慢得多的应用程序。

我同意jQuery Mobile过于臃肿。当我第一次听说它时,我希望它是一个更精简的jQuery版本,但当我意识到我必须加载jQuery(33.18KB)和jQuery Mobile(31.77KB),我切换到zepto.js(通过cdnjs.com为9.01KB)和jQuery for IE(zepto在IE中不起作用),并推出了我自己的UI。虽然需要做更多的工作,但我网站的所有CSS都小于10KB,而jQuery Mobile的CSS为11.25KB。
blackberry.system.event.onHardwareKey(blackberry.system.event.KEY_BACK, function() {
  // Back key pressed, go back to previous screen
}