API 万象:Tabs、书签与下载的进阶神通

在 Chrome 插件的开发世界中,浏览器 API 是我们施展“法术”的根基。它们赋予插件与浏览器深度交互的能力,使我们得以窥探、操控、甚至重塑浏览器的行为。本章,我们将深入探索三大核心 API:Tabs(标签页)、Bookmarks(书签)与 Downloads(下载) ,揭开它们的“神通”之面。

Tabs---浏览器的窗口之眼

标签页是浏览器最基础、最活跃的交互单元。通过 chrome.tabs API,插件可以读取、操作甚至创建新的标签页。

使用前提:

  • 需在 manifest.json 中声明 "permissions": ["tabs"]
  • 若需访问页面内容,还需声明 "scripting" 权限

使用基础:窥探与切换

// 获取当前窗口中所有标签页
chrome.tabs.query({ currentWindow: true }, (tabs) => {
    console.log("当前窗口标签页列表:", tabs);
});

// 切换到指定标签页
chrome.tabs.update(tabId, { active: true });

进阶使用:注入脚本与拦截导航

// 在指定标签页中注入内容脚本
chrome.scripting.executeScript({
    target: { tabId: tabId },
    files: ['content.js']
});

// 监听页面导航事件
chrome.webNavigation.onCompleted.addListener((details) => {
    console.log("页面加载完成:", details.url);
});

Bookmarks:操纵书签的“记忆之手”

书签,是用户浏览器中“记忆的锚点”。通过 chrome.bookmarks API,插件可以读取、修改、甚至创建用户的书签结构。

使用前提:

  • 需在 manifest.json 中声明 "permissions": ["bookmarks"]
  • 建议在操作前添加用户确认机制,避免误删误改

使用基础:读取与查找

// 获取用户所有书签
chrome.bookmarks.getTree((bookmarkTreeNodes) => {
    console.log("书签树:", bookmarkTreeNodes);
});

// 查找特定书签
chrome.bookmarks.search({ url: "https://example.com" }, (results) => {
    console.log("查找到的书签:", results);
});

进阶使用:增删改查,随心所欲

// 创建新书签
chrome.bookmarks.create({
    parentId: folderId,
    title: "我的新书签",
    url: "https://example.com"
});

// 删除书签
chrome.bookmarks.remove(bookmarkId);

// 修改书签
chrome.bookmarks.update(bookmarkId, { title: "新标题" });

Downloads:掌控下载的“文件之门”

使用前提:

  • 需声明 "permissions": ["downloads"]
  • 用户可通过 saveAs 控制是否弹出“另存为”对话框

使用基础:监控下载事件

// 监听下载开始事件
chrome.downloads.onCreated.addListener((downloadItem) => {
    console.log("新下载开始:", downloadItem.filename);
});

// 监听下载完成事件
chrome.downloads.onChanged.addListener((delta) => {
    if (delta.state?.current === "complete") {
        console.log("下载完成:", delta.id);
    }
});

进阶使用:主动下载与路径控制

// 主动发起下载
chrome.downloads.download({
    url: "https://example.com/file.pdf",
    filename: "downloads/myfile.pdf",
    saveAs: false
});

从零探索Chrome插件开发,手把手教你构建实用功能,开启浏览器扩展创作之旅。

全部评论
mark收藏了
点赞 回复 分享
发布于 2025-08-09 20:26 江苏
点赞 回复 分享
发布于 2025-08-09 20:21 江苏

相关推荐

狸猫换offer:埋点都出来了
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务