gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 06:27:08 25 4
gpt4 key购买 nike

我已经使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com