jquery mobile使用过程中遇到的一些问题及解决方法
2015-01-28 23:47
886 查看
最近的项目在综合考虑了可能维护性和应用本身的复杂性,采用了HTML5 + JQuery Mobile的文案。
记录一下遇到的两个问题。
1)为了在手机上运行的更快,canvas中底图决定调用 putImageData 来复制,但在android 2.3系统上,canvas 的 putImageData 有很严重的锯齿,canvas.translate(0.5, 0.5)也是没有效果。如下图,前面是正常画出的底图,后面是 putImageData 后的底图。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/cc954102557b41a656d9309e559caa31)
解决办法,
if (android 2.3) {
一个一个图去重画画图
} else {
canvas.putImageData
}
2)app设计为向右滑出菜单panel,这次在 WP8 上出问题了,在一个很大的page上滑出的菜单panel是空白的,在一些比较小的page上是正常的。下图是不正常的,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/59fdc08345d5c84d0abf0d6f3980912b)
花了一天调度了一下jqm的代码,却没有发现什么可疑的地方。晚上突然来了灵感,把菜单panel的css重置一下,然后它就正常了,正常的是如下图,
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/951ba69d29d6e50f93dba6d757526870)
这里用到了setTimeout延时一小会才重置,红圈中的代码是我给jqm打的一个小patch
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/b7a595a6dded3689b5491cb961e93dc9)
3)双点页面时,page的header会跳动几个像素,产生的原因是因为双点页面是jqm会触发页面上的 vclick 事件,
解决方法时,我不需要用到这些代码,把jqm中对应这段的代码给注释了。
listview 组合 collapsible时,collapsible不显示,问题发生在android 2.3平台上,没有能够调试js的调度器,只能用有通过打印的方式去调试了。能过aler正常与不正常的dom结构发现,在android 2.3平台上生成的dom结构不全。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/cd3f731b4ccf88ef6c2154b87bf22259)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/b7baea2defc925d41239df853b730b06)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/b6a97c637a7eb31e394baa878fc9dad1)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/6caf314792d8cae56de185613646cb54)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/09/8bc0c1b4678f8fe4f016688ad97fc50a)
观察发现了生成的dom中的class特征,通过搜索 ui-collapsible-heading-toggle,因为只搜索到一处,一定是它了,马上就定位到了代码中的关键地方,只插入一条alert就可以发现到问题了。
解决方法:
把<legend>改为<h3>,在所有的平台都正常了。
listview 组合 collapsible 正常的样子如下,
记录一下遇到的两个问题。
1)为了在手机上运行的更快,canvas中底图决定调用 putImageData 来复制,但在android 2.3系统上,canvas 的 putImageData 有很严重的锯齿,canvas.translate(0.5, 0.5)也是没有效果。如下图,前面是正常画出的底图,后面是 putImageData 后的底图。
解决办法,
if (android 2.3) {
一个一个图去重画画图
} else {
canvas.putImageData
}
2)app设计为向右滑出菜单panel,这次在 WP8 上出问题了,在一个很大的page上滑出的菜单panel是空白的,在一些比较小的page上是正常的。下图是不正常的,
花了一天调度了一下jqm的代码,却没有发现什么可疑的地方。晚上突然来了灵感,把菜单panel的css重置一下,然后它就正常了,正常的是如下图,
这里用到了setTimeout延时一小会才重置,红圈中的代码是我给jqm打的一个小patch
3)双点页面时,page的header会跳动几个像素,产生的原因是因为双点页面是jqm会触发页面上的 vclick 事件,
解决方法时,我不需要用到这些代码,把jqm中对应这段的代码给注释了。
listview 组合 collapsible时,collapsible不显示,问题发生在android 2.3平台上,没有能够调试js的调度器,只能用有通过打印的方式去调试了。能过aler正常与不正常的dom结构发现,在android 2.3平台上生成的dom结构不全。
观察发现了生成的dom中的class特征,通过搜索 ui-collapsible-heading-toggle,因为只搜索到一处,一定是它了,马上就定位到了代码中的关键地方,只插入一条alert就可以发现到问题了。
解决方法:
把<legend>改为<h3>,在所有的平台都正常了。
listview 组合 collapsible 正常的样子如下,
相关文章推荐
- mybatis使用过程遇到的一些问题及解决方法
- Kafka实际使用过程中遇到的一些问题及解决方法
- windows使用libvlc进行网络串流遇到的一些问题及解决方法
- RFT使用过程中遇到的问题的解决方法(一)
- 生产环境使用elasticsearch遇到的一些问题以及解决方法
- sofia sip开发六 寻找开发过程中遇到sofia sip库使用问题的解决方法
- 使用javamail发信过程中的一些问题及解决方法
- mysql c++ connector 1.0.5 getString方法 使用过程中遇到汉字产生的乱码问题的解决方法
- 使用javamail发信过程中的一些问题及解决方法
- 使用Hibernate过程中所遇到的问题已经解决方法
- 使用Layered Window遇到的一些问题及解决方法
- 使用javamail发信过程中的一些问题及解决方法
- LFS6.8搭建过程中遇到的一些问题和解决方法
- 使用javamail发信过程中的一些问题及解决方法
- JS/Jquery使用过程中遇到的问题和解决方法
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- QTP使用过程中遇到的问题及解决方法
- GitHub使用elasticsearch遇到的一些问题及解决方法
- 使用javamail发信过程中的一些问题及解决方法
- 11.Cocos2dx2.2下使用JNI技术调用jar包里面的一些方法遇到的一些问题及解决方式。