You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否编写可在后台反复跳转到页面底部的Bookmarklet?

自动滚动Bookmarklet及后台执行实现方案

一、基础自动滚动Bookmarklet

可以直接用Bookmarklet实现Facebook页面的自动反复滚动,代码如下:

javascript:(function(){
  let scrollInterval = setInterval(() => {
    // 滚动到当前页面底部
    window.scrollTo(0, document.body.scrollHeight);
    // 检测是否已加载完所有内容(判断滚动后页面高度是否变化)
    const lastPageHeight = document.body.scrollHeight;
    setTimeout(() => {
      if (document.body.scrollHeight === lastPageHeight) {
        clearInterval(scrollInterval);
        alert('已滚动至页面底部,自动停止');
      }
    }, 1000); // 等待1秒让页面加载新内容
  }, 2000); // 每2秒执行一次滚动
})();

使用方法:

  • 在浏览器中新建书签,将上面的代码粘贴到书签的「URL」栏,命名为「Facebook自动滚动」
  • 打开Facebook页面后,点击该书签即可启动自动滚动

二、后台执行的限制与解决方案

浏览器为了节省性能,会限制后台标签页的定时器执行频率(比如Chrome会把setInterval的间隔拉长到1秒以上,甚至暂停),单纯的Bookmarklet在后台标签页无法正常工作。要实现后台自动滚动,建议用浏览器扩展:

Chrome扩展示例(Manifest V3)

  1. 创建一个文件夹,新建以下两个文件:

manifest.json(扩展配置文件)

{
  "manifest_version": 3,
  "name": "FB自动滚动助手",
  "version": "1.0",
  "permissions": ["activeTab", "scripting"],
  "action": {
    "default_title": "开始/停止滚动"
  },
  "background": {
    "service_worker": "background.js"
  }
}

background.js(后台逻辑)

let isRunning = false;
let scrollTimer;

// 点击扩展图标触发开始/停止
chrome.action.onClicked.addListener(async (tab) => {
  if (isRunning) {
    clearInterval(scrollTimer);
    isRunning = false;
    chrome.action.setTitle({title: "开始自动滚动"});
    return;
  }

  isRunning = true;
  chrome.action.setTitle({title: "停止自动滚动"});

  // 每2秒触发一次滚动
  scrollTimer = setInterval(async () => {
    await chrome.scripting.executeScript({
      target: {tabId: tab.id},
      func: () => {
        window.scrollTo(0, document.body.scrollHeight);
        const currentHeight = document.body.scrollHeight;
        // 检测是否已加载完所有内容
        setTimeout(() => {
          if (document.body.scrollHeight === currentHeight) {
            chrome.runtime.sendMessage({type: "stop"});
          }
        }, 1000);
      }
    });
  }, 2000);
});

// 接收停止信号
chrome.runtime.onMessage.addListener((msg) => {
  if (msg.type === "stop") {
    clearInterval(scrollTimer);
    isRunning = false;
    chrome.action.setTitle({title: "开始自动滚动"});
  }
});

安装扩展:

  • 打开Chrome浏览器,进入「扩展程序」页面(地址栏输入chrome://extensions/)
  • 开启「开发者模式」,点击「加载已解压的扩展程序」,选择刚才创建的文件夹
  • 扩展图标会出现在浏览器工具栏,打开Facebook页面后点击图标即可启动后台自动滚动

内容的提问来源于stack exchange,提问作者d-b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:10:27