我使用jquery-mobile,angularjs和jqm angular adapter实现了html5 webapp。
在Android设备上使用默认的android浏览器(chrome工作正常!)我随机地在jqm文件中遇到错误,比如“#have no method'addClass'或'jqmEnhanceable'。 通过多次重新加载网站,它总是可以重复的。
调试结果表明,在角度初始化过程中,特别是在文档上调用$ compile之前,适配器调用.page()on 所有使用data-role =“page”注释的div。
这会导致创建大量的jquery移动小部件,即产生大量的“负载”。 错误总是在.page()调用期间发生,但在错误发生之前处理的页面数随机变化,有时它完全有效。
对我而言,浏览器似乎在某个时间点“忘记”了jquery或jquery移动方法。 你们有没有提出类似的观察? Android默认浏览器是否存在已知问题?
问题也在here进行了描述。
提前多多感谢!! 诺曼
答案 0 :(得分:0)
这不是一个完整的答案,但可以帮助有类似问题的人。
在触摸jQuery移动弹出窗口中的列表元素上的ng-click后,我的问题出现了。 ng-click调用的$ scope函数有两个作业: 1.在$ scope中设置一个值,该值是该字段的ng-model - 通过单击该字段激活弹出窗口。 2.关闭弹出窗口。
因此,当角度更新视图时,更新后的字段位于弹出窗口后面。
解决方案是重新排序函数中的代码,以便首先调用popup close,然后更新Angular模型。
这个问题出现在我的两个Android测试设备中。较旧的设备(三星平板电脑,Android 3.1,浏览器版本3.1-UEKME)有问题,较新的设备(HTC手机,Android 4.0.3,浏览器版本4.0.2213303110.348012)总是好的 - 这可能是因为错误已经在以后的版本中被淘汰。