Jo *_* E. 9 javascript jquery sizzle uploadcare
在使用Uploadcare文件上传小部件时,我注意到Uploadcare脚本不断重新绘制HTML标签.
我不知道是否重新油漆是正确的术语,但这里是正在发生的事情:检查镀铬 devtools的HTML标签被突出显示,当您添加相同的行为/元素上删除属性.它似乎没有结束,它只是在每N ms继续.您可以在他们的主页Uploadcare.com上自行查看,只需打开devtools并查看HTML标签即可.
任何人都知道它为什么这样做?这叫什么?它会给移动用户带来性能问题吗?
Uploadcare插件每100ms在页面上搜索新的小部件.这称为实时初始化.在内部,插件使用jQuery(使用Sizzle选择器引擎),这就是Sizzle实际工作的方式:它id在查询之前将元素添加到搜索范围的根元素,然后将其删除.您可以通过一个简单示例来验证这一点:
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script>
setInterval(function() {
$.find('[attr]', document.documentElement);
}, 200);
</script>
Run Code Online (Sandbox Code Playgroud)
如果您想避免轻弹,您有两种选择.您可以通过添加到js代码来禁用实时初始化UPLOADCARE_LIVE = false;.或者,您可以id向html标记添加任何自定义属性.嘶嘶声不会改变它.
将来,我们计划MutationObserver用于在页面上查看新的小部件.
| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |