改写自己的浏览器插件工具 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

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

希望对大家有帮助。

相关推荐
元直数字电路验证14 分钟前
HTML 标签及推荐嵌套结构
前端·javascript·html
刚子编程21 分钟前
ASP.NET Core Blazor 路由配置和导航
服务器·javascript·.netcore·blazor
知识分享小能手30 分钟前
uni-app 入门学习教程,从入门到精通,uni-app 企业项目实战:鲁嗑瓜子项目开发知识点(9)
前端·javascript·学习·微信小程序·小程序·uni-app·vue
皓月Code1 小时前
第四章、路由配置
前端·javascript·react.js·1024程序员节
你的电影很有趣2 小时前
lesson77:Vue组件开发指南:从基础使用到高级通信
javascript·vue.js·1024程序员节
Mr.Jessy2 小时前
JavaScript学习第六天:函数
开发语言·前端·javascript·学习·html·1024程序员节
oak隔壁找我2 小时前
JavaScript 模块化演进历程:问题与解决方案。
前端·javascript·架构
烟袅3 小时前
JavaScript 变量声明报错指南:var、let、const 常见错误解析
javascript
烟袅3 小时前
告别 var!深入理解 JavaScript 中 var、let 和 const 的差异与最佳实践
javascript·面试
mapbar_front4 小时前
Electron 应用自动更新方案:electron-updater 完整指南
前端·javascript·electron