内容脚本用于向网页注入自定义功能与样式。
1、Content Scripts 是运行于网页上下文中的 JavaScript 脚本,可直接访问并操作当前页面的 DOM 元素。虽然其行为类似内联脚本,但无法读取网页自身声明的变量或函数,也不能与其他 Content Script 之间共享作用域内的数据。每个脚本拥有独立执行环境,仅能对页面结构进行读取与修改,具备良好的沙箱隔离性,保障扩展运行的安全性与稳定性。
2、能力全面、使用便捷、兼容性强。

3、内容脚本的核心用途是增强网页原有能力,新手可简单理解为:将自定义逻辑“嵌入”目标网页,从而实现功能拓展或 UI 层面的定制化调整。
4、提取网页中文字、图片等可视资源
5、动态修改网页显示内容
6、模拟真实用户交互行为,例如自动填写表单字段、触发按钮点击等。
7、借助网页环境发起 AJAX 请求(如 fetch 或 XMLHttpRequest)
8、需在扩展的 manifest.json 文件中配置相关字段,方可启用 Content Scripts 功能。
9、“js” 字段表示将被注入的 JavaScript 文件路径列表。
10、“matches” 字段为字符串数组,每一项指定该脚本应生效的网页 URL 模式。
11、更多细节请参考 Chrome 官方文档说明

12、下面以一个基础实例展开说明:从 CSDN 首页抓取部分资讯信息,直观展示 Content Scripts 的实际调用方式。
13、在 test 目录下新建一个 JS 文件,即可完成 Content Scripts 的集成。
14、建议命名为 cs1.js
15、在 manifest.json 中添加如下配置项。
16、}]
17、若项目中引入了 jQuery 库,则必须在 “js” 列表中优先声明 jquery-2.0.3.min.js,再追加 cs1.js,确保依赖顺序正确,避免运行时报错。
18、“matches” 数组中存放的是希望该脚本生效的目标网站地址规则。
19、更新后的 manifest.json 文件内容如下所示:

20、当前正在编辑 cs1.js 文件,它将在 CSDN 网页加载完成后被执行。
21、我们的目标是获取 CSDN 首页新闻板块中的标题链接集合。

22、对应 HTML 结构大致如下所示:

23、本次仅提取各条新闻的链接标题文本。
24、}
25、}
26、此 jQuery 选择器用于定位新闻区域中所有 <a></a> 标签元素。
27、变量 alist 存储的是匹配到的所有新闻链接 DOM 对象集合。
28、通过 $(alist).attr('title') 可读取每个 <a></a> 标签的 title 属性值。
29、上述代码会在网页 DOM 加载完毕后立即执行。
30、重新加载扩展插件,并打开 www.csnd.net 页面,即可观察实际效果。

31、本小节进一步介绍如何利用 Content Scripts 实现自动化点击操作,即打开前一步所获取的第一个新闻链接。
32、仅对列表中的首个链接执行点击动作。
33、在 cs1.js 文件末尾新增一行控制语句。

34、刷新扩展并重载 CSDN 页面
35、确认弹出的提示框后,浏览器会自动跳转至页面中第一个超链接指向的目标地址。












