菜鸡互啄

in cn •  7 years ago  (edited)

之前说过我依葫芦画瓢写了几个小脚本,解除了桌面浏览器访问微信公众号文章时的延迟加载,但那个系列的脚本都遇到控制台报错的问题:

photo6296159359012546574.jpg

作为一个强迫症,显然不能忍,改呗。

先是直接加上 length 改成了 for(var i in document.images.length),不报错了,脚本也无效了。放狗搜了才明白,for (x in y) 是特定的循环语句,输出的不是数字是字符串。

明白了原理就好办了,既然用了 length 不报错,那就改成标准的 for 循环:for (i = 0; i < imgs.length; i++).

另外发现,data-src 这种属性不能直接用 . 来获取,传统的兼容性最好的写法是 getAttribute('data-src'),但既然是 userScript 当然用于现代浏览器,不可能不支持 HTML5 特性,可以用效率更高的 .dataset.src 来获取。

依葫芦画瓢之余还是要多学习……

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!