Chrome Extension


  • Chrome Extension 能做什么
  • Chrome Extension 核心
    • background
    • content_scripts
    • inject_scripts
  • Chrome 开发概述
  • Chrome Extension VS Chrome App
  • Chrome 安全问题

Chrome Extension 能做什么

  • popup
  • option
  • omnibox
  • contextMenus
  • override

popup - 常用选项

options - 配置

omnibox - 搜索栏

contextMenus - 右键菜单

override - 自定义 Chrome 页面

  • history:: 浏览历史
  • newtab:: 新 Tab
  • bookmarks:: 收藏夹

Chrome Extension 核心

  • background 主进程
    • 生命周期:: 常驻 Chrome 后台
  • content_scripts 注入 CSS / JavaScript
    • 控制 DOM
  • inject_scripts 注入 CSS / JavaScript?
    • 获取 window 变量

三者通信

三者权限

Chrome APIDOMwindow 变量
backgroundAllNoneNone
content_scriptsnot allAllNone
inject_scriptsNoneAllAll

Chrome Extension VS Chrome App

  • 权限不同 (如 FileSystem)
  • 展现形式不同

Chrome Extension 安全问题

无审核,无监控,十分钟上线

Chrome 禁止使用非 web store 下载的扩展

  • Windows Chrome 用户自己在 chrome:://extension 安装 crx 的方法在 13 年就已经被禁止

  • Mac Chrome 用户安装 crx 的方法在 15 年也被禁止

  • inline-install 被禁止

提示权限

查看源码

  • Mac ~/Library/Application\ Support/Google/Chrome/Default/Extensions/

THANKS


Q & A