06月15, 2011

百度搜藏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下的原因。

欢迎查看我的百度搜藏

 

本文链接:http://welefen.com/post/chrome-plugin-for-baidu-soucang.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。