5种类型的JS对比

Chrome插件的JS主要可以分为这5类:injected scriptcontent-scriptpopup jsbackground jsdevtools js

权限对比

JS种类 可访问的API DOM访问情况 JS访问情况 直接跨域
injected script 和普通JS无任何差别,不能访问任何扩展API 可以访问 可以访问 不可以
content script 只能访问 extension、runtime等部分API 可以访问 不可以 不可以
popup js 可访问绝大部分API,除了devtools系列 不可直接访问 不可以 可以
background js 可访问绝大部分API,除了devtools系列 不可直接访问 不可以 可以
devtools js 只能访问 devtools、extension、runtime等部分API 可以 可以 不可以

调试方式对比

JS类型 调试方式 图片说明
injected script 直接普通的F12即可 懒得截图
content-script 打开Console,如图切换 5种类型的JS对比 - 图1
popup-js popup页面右键审查元素 5种类型的JS对比 - 图2
background 插件管理页点击背景页即可 5种类型的JS对比 - 图3
devtools-js 暂未找到有效方法 -