返回

用 Manifest V3 做一个简单 Chrome 页面右键菜单搜索扩展

前端

前言

油猴脚本是一种用户脚本,可以修改网页的外观和行为,但它不能像扩展程序那样访问浏览器更多的 API 和功能。如果你想做一些复杂的功能,比如修改页面的内容,或者在页面上显示通知,就需要使用 Chrome 扩展程序。

Chrome 扩展程序是用 HTML、JavaScript 和 CSS 等 Web 技术构建的。你可以在 Chrome 网上应用店中找到许多有用的扩展程序,但你也可以自己开发扩展程序来满足你的特定需求。

创建 Manifest 文件

要创建一个 Chrome 扩展程序,首先需要创建一个 manifest.json 文件。这个文件了扩展程序的基本信息,比如扩展程序的名称、版本、、权限和脚本。

{
  "manifest_version": 3,
  "name": "Page Right-Click Menu Search",
  "version": "1.0",
  "description": "Adds a search option to the page right-click menu.",
  "permissions": [
    "contextMenus"
  ],
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["content_script.js"]
    }
  ]
}

在 manifest.json 文件中,我们指定了扩展程序的版本、名称、描述和权限。我们还指定了一个 content_scripts 对象,其中包含了一个匹配所有网页的脚本。

编写脚本代码

接下来,我们需要编写脚本代码来实现扩展程序的功能。在我们的例子中,我们要在页面的右键菜单中添加一个搜索选项。

function createContextMenu() {
  chrome.contextMenus.create({
    title: "Search for \"%s\"",
    contexts: ["selection"],
    onclick: function(info, tab) {
      var selection = info.selectionText;
      var url = "https://www.google.com/search?q=" + encodeURIComponent(selection);
      chrome.tabs.create({url: url});
    }
  });
}

createContextMenu();

在脚本代码中,我们首先定义了一个 createContextMenu() 函数,该函数用于创建右键菜单选项。然后,我们调用 chrome.contextMenus.create() 函数来创建右键菜单选项。

在 createContextMenu() 函数中,我们指定了右键菜单选项的标题、上下文和点击事件处理程序。

  • 标题是 "Search for "%s"",其中 "%s" 是一个占位符,它将被选中的文本替换。
  • 上下文是 ["selection"],这意味着右键菜单选项只会在用户选中了一些文本时才显示。
  • 点击事件处理程序是 function(info, tab) {...}。当用户点击右键菜单选项时,这个函数将被调用。

在点击事件处理程序中,我们首先获取选中的文本,然后将选中的文本编码为 URL 编码格式,最后使用 chrome.tabs.create() 函数创建一个新的标签页,并在新标签页中打开 Google 搜索结果。

创建用户界面

如果你的扩展程序需要一个用户界面,你可以使用 HTML、JavaScript 和 CSS 来创建它。在我们的例子中,我们不需要创建一个用户界面,因为我们只是在页面的右键菜单中添加了一个搜索选项。

测试扩展程序

要测试扩展程序,你可以将它加载到 Chrome 浏览器中。你可以通过以下步骤加载扩展程序:

  1. 打开 Chrome 浏览器。
  2. 点击地址栏旁边的三个点。
  3. 选择 "更多工具" > "扩展程序"。
  4. 点击 "加载已解压的扩展程序"。
  5. 选择你刚创建的扩展程序的文件夹。

加载扩展程序后,你就可以在页面的右键菜单中看到 "Search for "%s"" 选项了。当你选中一些文本并点击右键菜单中的 "Search for "%s"" 选项时,一个新的标签页将被打开,并在新标签页中打开 Google 搜索结果。

总结

本文介绍了如何使用 Manifest V3 为 Chrome 浏览器创建一个简单的页面右键菜单搜索扩展。我们逐步讲解了扩展开发过程,包括构建 manifest.json 文件、编写脚本代码、创建用户界面以及测试扩展程序。通过阅读本文,你掌握了使用 Manifest V3 开发 Chrome 扩展程序的基本技能。