最近firefox用的不爽,决定换下口味,装了个Chrome玩玩。不过,Chrome的用户体验不是那么让我满意,特别是管理扩展程序的时候需要操作三次,实在不爽,那就自己做个扩展程序解决这个问题吧。分三步走:
第一步:helloworld,这篇文章将的很清楚http://dev.chromechina.com/thread-1940-1-1.html ;
第二步:查看已有的扩展程序的代码
- 有个扩展程序叫Extension Gallery Inspector,可以查看扩展程序的代码
- 本地已经存在的源码在C:\Documents and Settings\当前用户\Local Settings\Application Data\Google\Chrome\User Data\Default\Extensions,Chrome plus的扩展源码在安装目录下
第三步:修改已有代码,有个叫Downdloads的扩展跟我的需求差不多,它是打开下载的页面,那就在这个基础上稍微做了些修改,相当easy。
顺便贴下源代码吧
manifest.json
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
{
"name": "Extensions",
"description": "Access the extensions window directly from the toolbar",
"version": "1.0",
"permissions" : ["tabs"],
"browser_action":
{
"default_icon" : "images.jpg",
"default_title": "打开扩展程序窗口"
},
"background_page": "background.html"
}
"name": "Extensions",
"description": "Access the extensions window directly from the toolbar",
"version": "1.0",
"permissions" : ["tabs"],
"browser_action":
{
"default_icon" : "images.jpg",
"default_title": "打开扩展程序窗口"
},
"background_page": "background.html"
}
background.html
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<
script
>
chrome.browserAction.onClicked.addListener( function (tab){
var alreadyOpened = null
var chromeExtURL = " chrome://extensions/ "
chrome.tabs.getAllInWindow( null , function (tabs){
for ( var i = 0 ;i < tabs.length;i ++ ){
if (tabs[i].url == chromeExtURL){
chrome.tabs.update(tabs[i].id, {selected: true })
return ;
}
}
chrome.tabs.create({url:chromeExtURL,selected: true })
})
})
</ script >
chrome.browserAction.onClicked.addListener( function (tab){
var alreadyOpened = null
var chromeExtURL = " chrome://extensions/ "
chrome.tabs.getAllInWindow( null , function (tabs){
for ( var i = 0 ;i < tabs.length;i ++ ){
if (tabs[i].url == chromeExtURL){
chrome.tabs.update(tabs[i].id, {selected: true })
return ;
}
}
chrome.tabs.create({url:chromeExtURL,selected: true })
})
})
</ script >
当试图做更复杂的扩展时,发现自己不懂javascript和html,若继续学习那将是个浩大的工程,只好暂时到此为止。