Upgrade to Pro — share decks privately, control downloads, hide ads and more …

chrome 插件开发

edokeh
April 23, 2012

chrome 插件开发

edokeh

April 23, 2012
Tweet

More Decks by edokeh

Other Decks in Programming

Transcript

  1. 插件架构 popup popup page background page page action browser action

    content scripts web page Chrome Extension API
  2. manifest.json { // 必需 "name" : "my extension", "version" :

    "0.1", "manifest_version" : 2, // 推荐 "description" : "It’s nice", "icons": { "16" : "icon16.png", "48" : "icon48.png", "128" : "icon128.png“ } }
  3. 例子1:员工查询 2. 添加带popup页面的按钮 使用browser action 在工具栏添加按钮 manifest.json { … …

    "browser_action" : { "default_icon" : "icon.png", "default_title" : "焦点员工通讯录", "default_popup" : "popup.html" } }
  4. 例子2:BBS通知 • 架构 popup popup page background page web page

    服务器 Ajax交互 修改badge 浏览器的 WebDB
  5. 例子2:BBS通知 4. 修改badge – 图标上的数字徽章 – 使用Chrome Extension API •

    chrome.browserAction.setBadgeText(); • chrome.browserAction.setBadgeBackgroundColor();
  6. 例子3:屏蔽选择提示 • 添加Content Scripts – 运行于特定页面上的脚本 – 不能使用Chrome Extension API

    – 运行于“沙箱”中,不用担心全局变量污染 manifest.json { … … "content_scripts" : [ { "matches" : ["http://baidu.com/*"], "js" : ["sth.js"], "css" : ["sth.css"] } ] }
  7. 编写技巧 • 使用HTML5/CSS3/ECMAScript5 – 使用ES5 – 使用HTML5 • 参见例子2 HTML5

    WebDB • 抛弃jQuery document.querySelectorAll(selector) – 使用CSS3
  8. Q&A