改写自己的浏览器插件工具 myChromeTools

1. 起因, 目的:

前面我写过, 自己的一个浏览器插件小工具

  • 最近又增加一个小功能,可以自动滚动页面,尤其是对于那些瀑布流加载的网页。
  • 最新的代码都在这里

2. 先看效果

3. 过程:

代码 1, 模拟鼠标自然滚动
js 复制代码
// 处理滚动控制逻辑,响应 popup.js 发送的 startScroll 和 stopScroll 消息。


(function () {
    let scrollInterval = null;
  
    function smoothAutoScroll() {
      if (scrollInterval) {
        clearInterval(scrollInterval);
      }
      scrollInterval = setInterval(() => {
        const scrollHeight = document.documentElement.scrollHeight;
        const windowHeight = window.innerHeight;
        const currentScroll = window.scrollY;
        if (currentScroll + windowHeight >= scrollHeight - 1) {
          window.scrollTo({ top: 0, behavior: 'smooth' });
        } else {
          window.scrollBy({ top: 2, behavior: 'smooth' });
        }
      }, 16); // 每16毫秒滚动一次,约60fps
    }
  
    function stopScroll() {
      if (scrollInterval) {
        clearInterval(scrollInterval);
        scrollInterval = null;
      }
    }
  
    chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
      if (message.action === 'startScroll') {
        smoothAutoScroll();
      } else if (message.action === 'stopScroll') {
        stopScroll();
      }
    });
  })();

4. 结论 + todo

  • 可以试试看,默认人工滚动,即滚滚停停,假装是在阅读。

希望对大家有帮助。

相关推荐
清汤饺子15 分钟前
AI 编程新范式:Spec First 的四件套,让 AI 不再是"热情但跑偏的实习生"
前端·javascript·后端
坐吃山猪15 分钟前
TypeScript编程04-函数
javascript·ubuntu·typescript
LXXgalaxy17 分钟前
小程序文件上传怎么做?一套可复用的 UniApp 上传+预览 Demo
javascript·vue.js·uni-app
Cobyte32 分钟前
2.响应式系统基础:依赖追踪的基础 —— 发布订阅模式(前端应用最广的设计模式)
前端·javascript·vue.js
xuankuxiaoyao1 小时前
VUE.JS实践--事件对象和计算属性
javascript·vue.js·ecmascript
朝阳5811 小时前
M3U8 下载助手油猴脚本 - 完全使用指南
前端·javascript·windows
早點睡3901 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-sensors(设备传感器)
javascript·react native·react.js
kadog1 小时前
GraphX:基于 WebGL 区间算术的 GPU 加速隐函数绘图器
前端·javascript·数学建模·webgl
上单带刀不带妹1 小时前
UniApp 页面跳转完全指南:5 种路由方式详解与实战对比
前端·javascript·vue.js·uni-app·跨端开发
Можно1 小时前
深入理解 UniApp 生命周期钩子:从页面到组件的全流程掌控
前端·javascript·vue.js