以下代码在IE11中花费很长时间在开发人员工具打开时加载。如果没有开发人员工具,代码就会快速加载。
我已在Fiddle中重现此问题。
注意:首先打开开发人员工具,然后打开小提琴链接以重现。
有没有解决方案可以解决这个问题?
HTML
QuestDialog questDialog = new QuestDialog();
questDialog.setCancelable(false);
questDialog.show(getSupportFragmentManager(),"Tag");
控制器
<select ng-options="o as o for o in timeArray" ng-model="selectedTime"></select>
答案 0 :(得分:3)
至于为什么会发生这种情况,我只能推测。 IE Dev Tools可能会限制分配给运行某些第三方框架或脚本的内存。由于大量重复的任务,我认为它与内存有关。无论是那个还是AngularJS还没有针对IE11进行优化。
至于解决问题的方法,我会考虑将其分为两个或三个字段:小时和分钟(可能是上午/下午)。这可能不是您正在寻找的选项,但如果它适用于您的程序,我肯定会推荐它。这有两个原因:
答案 1 :(得分:0)
对于项目本身来说应该不是问题,但是如果你要提高性能:在选择器中使用无限/部分加载(仅显示~30,通过滚动删除/添加块)或将其更改为时钟小部件(甚至可自定义的选择小部件:在https://material.angularjs.org/latest/demo/select中)选中“使用异步搜索的选项”。
<select> - element is a part of OS representation
这就是为什么你无法充分定制它的原因。 Win + IE几乎无法处理大范围的元素(对于大多数JS框架,您将能够跟踪Internet Explorer下的性能问题)
答案 2 :(得分:0)
ngRepeat比ngOptions快得多(分别为~3秒vs~10)对于约500项下拉,在你的情况下你有1440项......
答案 3 :(得分:0)
If the below solution can be applicable to you?
Then Increment time by 5 Mins, So that total item count is 288 only.