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

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

希望对大家有帮助。

相关推荐
击败不可能39 分钟前
vue做任务工具方法的实现
前端·javascript·vue.js
爱上妖精的尾巴1 小时前
7-13 WPS JS宏 this 用构造函数自定义类-2,调用内部对象必须用this
开发语言·javascript·wps·jsa
bin91532 小时前
(文后附完整代码)html+css+javascript 弓箭射击游戏项目分析
前端·javascript·css·游戏·html·前端开发
qq_406176142 小时前
深入剖析JS中的XSS与CSRF漏洞:原理、攻击与防御全指南
服务器·开发语言·前端·javascript
Mr-Wanter3 小时前
vue 数据反显时数字/字母不换行导致的样式问题
前端·javascript·vue.js
m0_740859624 小时前
解决uniapp跳转页面警告:Extraneous non-props attributes ...
前端·javascript·uni-app
一行注释4 小时前
ECharts柱状图横向展示与DataZoom滑动查看实现
开发语言·前端·javascript
踢球的打工仔4 小时前
typescript-类的访问权限public、private、protected
前端·javascript·typescript
Ulyanov4 小时前
Impress.js深度解析
开发语言·前端·javascript·css3·impress.js
编程大师哥5 小时前
JavaScript DOM
开发语言·javascript·ecmascript