javascript - android 浏览器的随机 jquery 移动/Angular 内部错误

标签 javascript angularjs jquery-mobile android-browser

我已经使用 jquery-mobile、angularjs 和 jqm angular adapter 实现了一个 html5 webapp .

在使用默认 android 浏览器的 android 设备上(chrome 工作正常!)我在 jqm 文件中随机遇到错误,如“# has no method 'addClass' or 'jqmEnhanceable'。 它总是可以通过多次重新加载网站来重现。

调试结果表明,在 Angular 初始化过程中,特别是在对文档调用 $compile 之前,适配器调用 .page() 所有带有 data-role="page"注释的 div。

这会导致创建大量 jquery 移动小部件,即产生大量“负载”。 错误总是在 .page() 调用期间发生,但在错误发生之前处理的页面数量随机变化,有时它可以完全工作。

对我来说,浏览器似乎在某个时间点“忘记”了 jquery 或 jquery 移动方法。 你们中有人有过类似的观察吗? Android 默认浏览器是否存在已知问题?

问题也有描述here .

提前致谢!! 诺曼

最佳答案

这不是一个完整的答案,但可能会对遇到类似问题的人有所帮助。

我的问题是在 jQuery Mobile 弹出窗口中点击列表元素后出现的。 ng-click 调用的 $scope 函数有两个任务: 1. 在 $scope 中设置一个值,该值是该字段的 ng-model - 通过单击该字段激活弹出窗口。 2. 关闭弹窗。

因此,在 Angular 更新 View 时,更新的字段位于弹出窗口的后面。

解决方案是重新排序函数中的代码,以便首先调用弹出窗口关闭,然后更新 Angular 模型。

这个问题出现在我的两台安卓测试设备中的一台上。稍旧的设备(三星平板,Android 3.1,浏览器版本 3.1-UEKME)有问题,较新的设备(HTC 手机,Android 4.0.3,浏览器版本 4.0.2213303110.348012)总是没问题 - 这可能是因为 bug在以后的版本中被删除。

关于javascript - android 浏览器的随机 jquery 移动/Angular 内部错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20376587/

相关文章:

javascript - 列中所有行的 DataTables 超链接

javascript - react typescript : usestate type

javascript - 隐藏/禁用字段从 req.body 中消失(Express JS bodyParser)

javascript - Angular JS http post不写入文件

javascript - $.ajax 调用有效,$http.get() 无效(404,未找到)

javascript - 指令内的 AngularJS $watch 未触发

javascript - jQuery Mobile : How to run a callback-function before $. mobile.changePage?

php - HTML与PHP的replaceWith函数

css - 控制组 UI 有问题?

javascript - React To-Do 应用程序 : Removing items, 但保持个人状态