五分钟搭建个人摸鱼工具:隐藏办公页面的浏览器扩展开发教程

在快节奏的职场环境中,偶尔需要处理一些私事或休息片刻,但总担心被同事或管理者发现。通过技术手段,我们可以构建一个“摸鱼工具”,在浏览器中快速隐藏非工作页面并切换回安全界面。本文将以一个简单的浏览器扩展为例,教你如何从零开始开发一个这样的工具。无需复杂框架,只需基础HTML、CSS和JavaScript知识。 准备工作 开发前,确保你已安装Chrome或Edge浏览器(支持扩展开发)。所需文件包括

在快节奏的职场环境中,偶尔需要处理一些私事或休息片刻,但总担心被同事或管理者发现。通过技术手段,我们可以构建一个“摸鱼工具”,在浏览器中快速隐藏非工作页面并切换回安全界面。本文将以一个简单的浏览器扩展为例,教你如何从零开始开发一个这样的工具。无需复杂框架,只需基础HTML、CSS和JavaScript知识。

准备工作

开发前,确保你已安装Chrome或Edge浏览器(支持扩展开发)。所需文件包括:

  • 一个文件夹(命名为“hide-extension”)
  • 文本编辑器(如VS Code、Notepad++)
  • 基本编程基础(HTML、JS、JSON)

核心功能:用户按快捷键(如Ctrl+Shift+H)时,当前页面立即显示默认安全界面(如工作文档模板),并隐藏所有非工作标签页。再次按相同键可恢复原页面状态。

第一步:创建扩展仓库存清单文件

首先,在“hide-extension”文件夹内创建manifest.json。这是扩展的配置文件,定义权限和脚本。

{
  "manifest_version": 3,
  "name": "超级隐藏摸鱼工具",
  "version": "1.0",
  "description": "一键隐藏非工作页面,显示安全内容",
  "permissions": ["tabs", "storage"],
  "background": {
    "service_worker": "background.js"
  },
  "commands": {
    "toggle-hide": {
      "suggested_key": {
        "default": "Ctrl+Shift+H",
        "mac": "Command+Shift+H"
      },
      "description": "切换隐藏模式"
    }
  },
  "action": {
    "default_popup": "popup.html",
    "default_icon": "icon.png"
  }
}

关键点解读:commands字段声明快捷键;background指定后台脚本处理核心逻辑;storage权限用于保存隐藏状态。

第二步:开发后台逻辑脚本

创建background.js文件,负责监听快捷键事件和管理标签页状态。

let isHidden = false;
let savedTabs = [];

chrome.commands.onCommand.addListener((command) => {
  if (command === "toggle-hide") {
    if (!isHidden) {
      // 隐藏所有非工作标签页
      chrome.tabs.query({}, (tabs) => {
        savedTabs = tabs.filter(tab => !tab.url.includes("chrome://"));
        chrome.tabs.create({ url: "about:blank" }, (blankTab) => {
          chrome.storage.local.set({ "hideTabId": blankTab.id });
        });
        savedTabs.forEach(tab => {
          chrome.tabs.update(tab.id, { active: false, highlighted: false });
        });
      });
      isHidden = true;
    } else {
      // 恢复所有标签页
      chrome.storage.local.get("hideTabId", (data) => {
        if (data.hideTabId) {
          chrome.tabs.remove(data.hideTabId);
        }
      });
      savedTabs.forEach(tab => {
        chrome.tabs.update(tab.id, { active: false, highlighted: true });
      });
      savedTabs = [];
      isHidden = false;
    }
  }
});

代码说明: 当用户按下快捷键,脚本会查询所有标签页,排除浏览器内部页面,然后创建一个空白标签作为“保护壳”。隐藏模式开启时,工作标签被标记为不活跃;恢复时,删除保护壳标签并让所有原标签重新可见。

第三步:设计弹出界面(可选)

一些用户偏好通过点击扩展图标来触发,而非依赖快捷键。创建popup.htmlpopup.js实现界面交互。






  

摸鱼工具

// popup.js
document.getElementById('hideBtn').addEventListener('click', () => {
  chrome.runtime.sendMessage({ command: "toggle-hide", action: "hide" });
});
document.getElementById('restoreBtn').addEventListener('click', () => {
  chrome.runtime.sendMessage({ command: "toggle-hide", action: "restore" });
});

后台脚本需更新以支持消息监听,添加以下代码到background.js

chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  if (request.command === "toggle-hide") {
    chrome.commands.onCommand.dispatch("toggle-hide");
  }
});
第四步:自定义安全内容(隐藏后可展示的工作界面)

为了更逼真,我们可以让安全界面显示一个办公软件模板。创建secure.html作为默认页面。





  


  

每周工作报告

时间:2025年4月5日

项目进度
客户需求调研80%
代码审查已完成

background.js中的chrome.tabs.create({ url: "about:blank" })改为chrome.tabs.create({ url: chrome.runtime.getURL("secure.html") })

第五步:测试与部署

1. 在Chrome浏览器地址栏输入chrome://extensions,开启“开发者模式”。
2. 点击“加载已解压的扩展”,选择“hide-extension”文件夹。
3. 此时浏览器工具栏会出现扩展图标,按下快捷键Ctrl+Shift+H测试。
- 所有非浏览器页面应消失,仅显示空白的安全界面。
- 再次按快捷键,所有页面恢复,安全界面关闭。

优化建议: 你可以调整commands中的快捷键(如改为Ctrl+Shift+F),或给安全界面添加动态时间戳、随机工作内容,增强真实性。例如,在secure.html中加入JavaScript定时更新日期。

此扩展完全离线运行,不会上传任何数据,确保隐私安全。但请留意,过度使用可能违反公司政策。开发本工具的目的在于学习浏览器扩展技术,而非滥用职场信任。当你掌握核心原理后,可进一步改造为任务管理器、快速笔记等合法工具。

扩展玩法

这个“摸鱼工具”本质上是一个标签页管理助手。你可以添加更多高级功能:
- 白名单模式:只隐藏特定URL(如社交媒体站点的标签)。
- 定时自动隐藏:设置倒计时后自动进入隐藏状态,避免忘记操作。
- 图标状态:扩展图标在隐藏时变为红色,醒目提醒当前模式。

通过上述步骤,你不仅学会了浏览器扩展的基本结构,还掌握了标签页API和事件监听的使用。这为开发更复杂的生产力工具打下基础。现在,动手试试吧,让技术和绅士礼仪并存!

免责声明:本文内容来源于公开资料、用户提交或站内整理,仅供学习与参考,不构成任何投资、医疗、法律或专业建议。请结合实际情况自行判断,相关风险由使用者自行承担。