Chrome插件开发

前言

一直都很喜欢使用百度搜藏,虽然功能比较简单,但由于有强大的搜索和分类还是非常不错的。

现在渐渐喜欢上了Linux & chrome下开发和折腾,由于百度搜藏没有提供对应的Chrome插件,导致使用百度搜藏非常的不方便。

并且Firefox的插件在4.0版本中也不好用了。

Chrome插件开发

由于没有其他好的工具来代替,所以只能自己去开发一个chrome插件。

之前由于没有开发过chrome插件的经验,所以先去官方看了一下文档,发现chrome下的插件开发还是非常简单的。

具体的文档可以看这里。

由于功能比较简单,所以只要下面几个文件就可以了。

其中manifest.json的内容如下:

{
  "name": "百度搜藏",
  "version": "1.0",
  "description": "百度搜藏Chrome插件",
  "background_page": "background.html",
  "browser_action": {
    "default_icon": "images/icon1.png",
    "default_title":"添加到百度搜藏"
  },
  "content_scripts": [
    {
      "matches": ["*://*/*"],
      "js": ["soucang.js"]
    }
  ],
  "permissions":["tab", "tabs", "contextMenus"],
   "icons": {
    "16": "images/icon1.png"
  }
}

soucang.js的文件内容如下:

if(location.hash == '#nw=1'){
	window.addEventListener('unload', function(){
		chrome.extension.sendRequest({winclose:1}, function(response) {
		  //console.log(response.farewell);
		});
	}, false);
}
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
	sendResponse({
		title:document.title,
		url:location.href
	});
});

backgroud.html文件内容中js部分如下:

var stoname = 'soucangcount';
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
	if(request.winclose == 1){
		var count = localStorage.getItem(stoname) | 0;
		if(count < 1) count = 1;
		localStorage.setItem(stoname, count-1);
		return true;
	}
});
function add(){
	var count = localStorage.getItem(stoname) | 0;
	if(count >= 2){
		window.alert("不要打开太多的窗口");
		return false;
	}
	chrome.tabs.getSelected(null, function(tab) {
		chrome.tabs.sendRequest(tab.id, {welefen: "suredy"}, function(response) {
			var u ='http://cang.baidu.com/do/add?it='+encodeURIComponent(response.title)+'&iu='+encodeURIComponent(response.url)+'&fr=ien#nw=1';
			localStorage.setItem(stoname, count+1);
			window.open(u, '_blank', 'scrollbars=no,width=600,height=450,left=75,top=20,status=no,resizable=yes');
		});
	});
}
chrome.browserAction.onClicked.addListener(add);
chrome.contextMenus.create({"title": "添加到百度搜藏","onclick":add});

插件下载

点击这里下载插件

安装完成后,如果发现点击图标没有反映,请按下面步骤操作:

工具 -> 首选项 -> 高级选项 -> 隐私权(内容设置)-> 弹出式窗口 -> 添加例外 -> 把soucang.baidu.com 加进去即可。

其他

该插件开发完了最后发现,chrome扩展中心里已经有了百度搜藏的插件了,这个比较囧。但我安装了发现使用不了。不知道是不是我在linux下的原因。

欢迎查看我的百度搜藏

posted @ 2011-06-22 16:13  Delta-0  阅读(949)  评论(1编辑  收藏  举报