图片加载优化器【附带自动判断重定向链接移除】
简介看完请自行备份或删除,防止占用空间❗原理:移除原本的图片加载,优先加载网页,加载网页后,只加载当前屏幕显示范围的图片。这样可以优化网页加载速度,这只是十几种优化脚本的其中之一❗将图片的加载逻辑进行一个完整的优化,并自动判定重定向链接移除。这可以提高你的网页加载速度,当然不会很明显,但确实能优化速度。注释都有,可以自行检查代码逻辑问题。另外,这个脚本是从我正在写的一个大脚本中剥离出来的,先发个小功能。目前这个大脚本已经写到5000行了,预计不久能完成。以下是详细介绍: 这个UserScript脚本实现了图片的延迟加载功能,并且包括了移除重定向链接的功能。 延迟加载功能: 1. 脚本使用Intersection Observer API来监听页面中的图片元素是否进入可视区域。 2. 当图片元素进入可视区域时,脚本会将其添加到一个任务队列中,准备进行加载。 3. 定义了一个`lazyLoadImages`函数来处理任务队列中的图片元素。 4. `lazyLoadImages`函数会遍历任务队列中的图片元素,对每个未加载的图片进行处理。 5. 如果图片的URL在`images`映射中不存在,说明该图片尚未开始加载,脚本会创建一个新的`Image`对象,并将其设置为该图片的`src`属性,以开始加载图片。 6. 当图片加载成功时,`onload`回调函数会将图片元素的`src`属性更新为真实的图片URL,并给图片元素添加`lazy-loaded`类名,表示图片已经加载完成。 7. 如果加载过程中发生错误(`onerror`事件触发),则会调用`handleError`函数进行错误处理。 8. 当所有图片都加载完成时,脚本会停止观察可视区域的变化。 移除重定向链接的功能: 1. 脚本会检查页面中所有的静态链接(即已经存在的链接元素)是否是重定向链接。 2. 如果链接是重定向链接,脚本会给链接添加一个点击事件处理程序,当点击链接时,如果链接没有其他兄弟元素或者没有其他子元素,脚本会移除该链接元素。 3. 使用Mutation Observer来监听页面中动态添加的链接元素,并对其进行相同的处理。 4. 脚本提供一个按钮来控制是否移除重定向链接,按钮的点击事件会改变脚本的内部状态。 5. 如果脚本启用了移除重定向链接的功能,它会对所有的静态链接进行检查并处理。 6. 动态添加的链接元素会被Mutation Observer监听到,脚本会对其进行相同的处理。 其他功能: 1. 优化性能:使用`optimizePerformance`函数来优化性能,通过延迟处理图片加载和滚动事件,减少过多的计算和处理。 2. 改进错误处理:通过`improveErrorHandling`函数来改进错误处理,打印错误消息和相关信息。 3. 对于已存在的图片元素和动态添加的图片元素进行观察和处理。 4. 使用`init`函数来初始化脚本,包括创建Intersection Observer、Mutation Observer和绑定相关事件等。 5. 使用`waitForDOMContentLoaded`函数来等待DOM内容加载完成后再执行初始化操作。 这个脚本的核心功能是图片的延迟加载,移除重定向链接是一个额外的功能,通过为链接添加点击事件来控制是否移除链接。脚本还包括了一些优化性能和错误处理的功能,以提高脚本的稳定性和用户体验。
-
775900415 1年以上 回复src是base64的图片也没问题吗
-
1576808152 1年以上 回复看看
-
1249490812 1年以上 回复大佬好厉害呀!支持!感觉很有用呢!要是做出完整大脚本了,麻烦大佬也发到这里一下吧……想要……
-
1515217401 1年以上 回复???
-
42942737 1年以上 回复下载下载
-
372059715 1年以上 回复好
-
2908783602 1年以上 回复666666
-
1242781360 约一年前 回复66666
-
134667979 约一年前 回复支持你
-
3068164048 约一年前 回复666
-
Steamboy1864 约一年前 回复支持
-
1325981020 12个月前 回复66666
-
1513519091 11个月前 回复6
-
2738643083 11个月前 回复牛逼
-
litd 11个月前 回复很不错的软件,不过我主要用的是附带功能,一些网页的重定向特别烦,建议大佬把图片功能去掉,单独弄一个开关屏蔽重定向的脚本
-
q308269833 10个月前 回复牛逼
-
z946898 9个月前 回复牛逼
-
1104871554 9个月前 回复厉害
-
897406782 9个月前 回复支持
-
1104871554 9个月前 回复厉害
-
ai157926121 8个月前 回复你字多我信你 🤭
-
琉璃73 5个月前 回复nb,插眼