传统手搓“紫了网页”超简单的Chrome扩展-Hulk变身器

165 阅读3分钟

🦸‍♂️ 手把手教你开发一个超简单的 Chrome 扩展 - Hulk 变身器

本文作者:爱编程的喵

本文首发于掘金社区,转载请注明出处

🎯 前言

大家好,我是你们的小喵同学!今天我们要来开发一个超级简单的 Chrome 扩展,它的功能是让网页背景变成紫色。为什么要开发这个扩展呢?因为...紫色真的很酷啊!

🚀 开始动手

1️⃣ 创建项目结构

首先,让我们创建一个新的文件夹,就叫它 hulk 吧!在这个文件夹里,我们需要创建以下文件:

hulk/
  ├── manifest.json    // 扩展的配置文件
  ├── popup.html      // 弹出窗口的界面
  ├── popup.js        // 弹出窗口的逻辑
  ├── content.js      // 改变背景颜色的脚本
  └── icons/          // 存放图标的文件夹

2️⃣ 编写 manifest.json

这是扩展的"身份证",告诉 Chrome 我们的扩展是什么、能做什么:

{
  "manifest_version": 3,
  "name": "Hulk",
  "version": "1.0",
  "description": "一个简单的Chrome扩展,可以改变网页背景颜色",
  "action": {
    "default_popup": "popup.html",
    "default_icon": {
      "16": "icons/icon16.png",
      "48": "icons/icon48.png",
      "128": "icons/icon128.png"
    }
  },
  "permissions": ["activeTab"],
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["content.js"]
    }
  ]
}

3️⃣ 设计弹出窗口 (popup.html)

让我们来设计一个漂亮的弹出窗口!🎨

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <style>
    body {
      width: 300px;
      padding: 20px;
      font-family: Arial, sans-serif;
    }
    button {
      width: 100%;
      padding: 10px;
      background-color: #4CAF50;
      color: white;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      margin-top: 10px;
    }
    button:hover {
      background-color: #45a049;
    }
  </style>
</head>
<body>
  <h2>改变背景颜色</h2>
  <p>点击下方按钮将当前页面背景色为紫色</p>
  <button id="changeColor">改变背景颜色</button>
  <script src="popup.js"></script>
</body>
</html>

4️⃣ 添加交互逻辑 (popup.js)

现在,让我们来添加一些魔法!✨

document.getElementById('changeColor').addEventListener('click', async () => {
  let [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
  chrome.scripting.executeScript({
    target: { tabId: tab.id },
    function: () => {
      document.body.style.backgroundColor = 'purple';
    }
  });
});

5️⃣ 注入页面脚本 (content.js)

最后,我们需要一个脚本来实际执行改变背景颜色的操作:

chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  if (request.action === "changeColor") {
    document.body.style.backgroundColor = 'purple';
  }
});

🎉 安装和测试

现在,让我们来安装这个扩展:

  1. 打开 Chrome 浏览器
  2. 在地址栏输入 chrome://extensions/
  3. 打开右上角的"开发者模式"开关
  4. 点击"加载已解压的扩展程序"
  5. 选择我们的 hulk 文件夹

🎉效果展示

安装完成后,你会看到:

  1. 工具栏上出现了一个新的图标
  2. 点击图标会弹出一个漂亮的窗口
  3. 点击"改变背景颜色"按钮,当前网页就会变成紫色!

未标题-1.jpg

-->

未标题-1.jpg

-->

image.png

-->

image.png

💡 小贴士

  • 记得准备三个尺寸的图标(16x16、48x48、128x128)

  • 如果修改了代码,需要在扩展管理页面点击刷新按钮

  • 紫色太深了?可以改成其他颜色,比如 #E6E6FA(淡紫色)

  • 这里用的是这三个图标哦:

    icon16.png

    icon48.png

    icon128.png

🌟 结语

恭喜你!现在你已经成功开发了一个 Chrome 扩展!虽然这个扩展很简单,但它展示了 Chrome 扩展开发的基本流程。你可以基于这个框架,开发出更多有趣的功能!

如果你觉得这篇文章对你有帮助,别忘了点赞和收藏哦!❤️

📚 参考资料