第一个chrome插件
上周抽了点时间看了下chrome扩展的制作,于是想到公司里在开发环境测试的时候相当地繁琐,需要手动地将url地址从com变到daily,那就写个插件试试。
需求:将输入的taobao.com修改为daily.taobao.net
chrome扩展是由一些列js和html组成,由一个json格式的文件来定义,名为manifest.json,这个名字貌似是固定的,官方有一些demo,大致看一下就知道怎么写了,详细的话还需要查询api。
manifest.json:
{
"name": "daily domain Extension",
"version": "1.0",
"description": "The first extension that I made.",
"background_page": "background.html",
"page_action": {
"default_icon": "icon.png",
"default_title":"toggle daily and real environment"
},
"content_scripts":
[{
"js": [ "devdomain_finder.js"],
"matches": [ "http://*.taobao.com/*", "https://*.taobao.net/*" ],
"run_at": "document_start"
}],
"permissions": ["tabs"]
}
devdomain_finder.js:
var domain_dev = {
toDev:function(url, domain) {
//www.taobao.com -> www.daily.taobao.net
var domain_url = domain.replace("taobao.com", "daily.taobao.net");
return "http://"+ domain_url + url.slice(url.indexOf("taobao.com")+"taobao.com".length);
},
isTaobaoDev:function(domain){
if(domain == ""){
return false;
}
if(domain.indexOf("taobao.com") != -1) {
return true;
}
return false;
}
};
if(domain_dev.isTaobaoDev(document.domain)){
chrome.extension.sendRequest({href: domain_dev.toDev(location.href, document.domain)});
}
background.html
<script>
chrome.extension.onRequest.addListener(function(request, sender) {
chrome.pageAction.show(sender.tab.id);
chrome.pageAction.onClicked.addListener(function(tab){
chrome.tabs.update(tab.id, {url:request.href});
});
});
</script>
最后才发现一个简单的功能实现起来竟然要写这么多。。。。
浙公网安备 33010602011771号