ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

详解Elsevier-Tracker的manifest.json:Manifest V3权限与内容脚本配置清单

详解Elsevier-Tracker的manifest.json:Manifest V3权限与内容脚本配置清单 详解Elsevier-Tracker的manifest.jsonManifest V3权限与内容脚本配置清单【免费下载链接】Elsevier-Tracker项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-TrackerElsevier-Tracker 是一款帮助作者实时跟踪 Elsevier爱思唯尔期刊投稿审稿状态的 Chrome 浏览器扩展。本文以 manifest.json 为蓝本完整拆解Manifest V3 扩展中的两大核心配置host_permissions主机权限与content_scripts内容脚本并给出一份新手可直接对照的权限配置清单。 30秒看懂扩展由哪几个文件组成Elsevier-Tracker 结构非常精简一个新手最该关注的就是下面三个文件文件作用manifest.json扩展的身份证声明版本、权限、要注入的脚本content.js内容脚本在 AuthorHub 审稿页拉取数据、渲染状态面板README.md功能介绍与安装说明 记住一个核心概念manifest.json 决定扩展能去哪里、能做什么、何时做什么其余文件都是被它调度的执行者。️ 基础字段Manifest V3 的四个身份声明manifest.json 开头的四个字段是整个扩展的地基字段本项目取值含义manifest_version3声明采用 Manifest V3 规范Chrome 现行标准nameElsevier tracker扩展在浏览器中显示的名称version1.0版本号用于区分更新descriptionHelps users track the latest status...一句话描述功能另外 icons 字段注册了 16 / 32 / 48 / 128 四种尺寸的图标如extension_icon128.png分别用于工具栏、扩展管理页等场景属于 MV3 的推荐配置。 host_permissions扩展被允许访问哪些域名MV3 采用最小权限原则扩展只有声明过的域名才能被脚本直接发起跨域请求。本项目的声明见 manifest.json#L6-L9host_permissions: [ https://tnlkuelk67.execute-api.us-east-1.amazonaws.com/*, *://track.authorhub.elsevier.com/* ]两条权限各有分工AWS API 域名扩展真正的数据源。content.js 会向tracker/{uuid}接口发起fetch请求拉取稿件的 JSON 数据。没有这条权限请求会被浏览器拦截。AuthorHub 跟踪页即用户粘贴 UUID 后打开的官方审稿页*://写法表示 http/https 都匹配。声明它可以让扩展在该域下获得完整的页面级能力。 新手要点两条权限都是够用就好——没有申请*://*/*这种通配全网权限这也是安装扩展时判断其是否干净的关键信号。 content_scripts扩展往哪个页面注入、何时注入content_scripts是内容脚本的配置区见 manifest.json#L10-L16字段本项目取值含义matcheshttps://track.authorhub.elsevier.com/*注入范围只匹配官方审稿跟踪页jscontent.js要注入的脚本文件run_atdocument_end注入时机DOM 解析完成后执行三个字段环环相扣matches比host_permissions更窄——内容脚本只在用户真正打开审稿页时才运行其他网站完全不受影响run_at: document_end是关键细节。content.js 需要往document.body追加 DOM 节点来构建浮动面板若用document_start此时body还不存在面板就会注入失败脚本本身做的事很简单从 URL 读取uuid参数 → 请求后端 → 在页面右上角渲染Elsevier 审稿状态面板并附带一个可点击的显示/隐藏审稿状态按钮。️ 实际效果内容脚本渲染出的状态面板下面就是content.js注入后在 AuthorHub 页面上呈现的审稿状态跟踪面板可见稿件信息、各 Revision 阶段以及每位审稿人的邀请/接受/完成时间与状态✅ 配置清单Manifest V3 权限核对表把上面的拆解浓缩成一张核对表你可以拿它检查任何扩展的 manifest.json核对项本项目配置是否必要manifest_version: 3✔ 已声明MV3 必备host_permissions数量仅 2 条指向真实依赖符合最小权限原则host_permissions是否含通配全网无*://*/*加分项 ✔content_scripts.matches是否精确只匹配 1 个官方域避免误注入run_at时机是否与脚本逻辑匹配document_end配合 DOM 操作正确 ✔icons多尺寸注册16/32/48/128 齐全推荐配置 获取与本地安装3步加载扩展如果想亲手验证上面的配置可按以下步骤操作克隆仓库仓库地址https://gitcode.com/gh_mirrors/el/Elsevier-Tracker打开 Chrome进入地址chrome://extensions/右上角开启**开发者模式**点击**加载已解压的扩展程序**选择仓库目录即可看到 Elsevier tracker 出现在扩展列表中。安装后访问带有uuid参数的 AuthorHub 跟踪页内容脚本便会自动执行并显示状态面板。⚠️ 新手常见的 3 个配置坑matches写宽了比如误写成*://*/*内容脚本会注入到每一个网站既拖慢网页又泄露脚本逻辑run_at选错时机脚本要操作 DOM 时却用了document_start运行后什么都不发生host_permissions与脚本实际请求不一致向未声明的域名fetch会被 MV3 直接拦截控制台报 CORS/权限错误。小结Elsevier-Tracker 的 manifest.json 是一个教科书级的 MV3 精简配置2 条精准的主机权限 1 个单域内容脚本 合理的注入时机没有一处冗余权限。读懂这份清单后你也能快速看懂、甚至独立写出其他浏览器扩展的权限配置。输出文章【免费下载链接】Elsevier-Tracker项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表