最近制作了一个Chrome插件,以下是对学习过程的一个总结,别人写过的我就直接贴链接上来,最后有几点自己总结的要点:
Chrome扩展开发指南
这个是网友翻译的Google的指导文档,推荐先都看一遍:
Chrome扩展开发指南(3)——Browser Action(扩展图标)
Chrome扩展开发指南(4)——Options Pages(选项页面)
Chrome扩展开发指南(5)——Override Pages(重置页面)
Chrome扩展开发指南(6)——Page Actions(地址栏图标)
Chrome扩展开发指南(8)——Bookmarks(书签操作)
Google官方文档
http://code.google.com/chrome/extensions/getstarted.html
这里有许多资源,Google Chrome API介绍、Samples等,都是非常好的学习资源。推荐结合Samples学习~
要点
1. popup、background页面无法访问Tab页面内容,但可以通过下面的方式在两者之间传输数据:
contentscript.js
================
chrome.extension.sendRequest({greeting: "hello"}, function(response) {
console.log(response.farewell);
});
background.html
===============
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
});
官方说明:
http://code.google.com/chrome/extensions/messaging.html
2. popup页面中运行的Javascript代码会随着popup页面的关闭而停止执行,所以若要写一些在后台一直运行的Javascript代码,请在background中写。
3. 若出现跨域问题,则需要在你的Response头中加入:Access-Control-Allow-Origin:*