写个简单的Chrome插件来屏蔽人人的某些功能
人人网也许做得很努力,可也改变不了用户群正在流失的事实。其实一直在努力的又何止是人人网呢,可惜不是每件事情只要努力就一定能有好结果的。不过,怎么样算是”好“?不知道,也不想深刻地去想,还不如问问自己:结果对得起自己的努力么?你真的努力了吗?
其实平常已经不太使用人人网,可还是想写这个插件来偶尔屏蔽一下人人网的某些功能,防止误操作或者手贱,比如:整天推荐各种游戏的“最近使用的应用”…
首先给Chrome插件定义一个manifest.json文件:
1
2
3
4
5
6
7
8
9
10
11
12
{
"name": "RenrenWidgit",
"version": "1.0",
"manifest_version": 2,
"description": "RenrenWidgit",
"browser_action":{ "default_icon": "renren-gray.png" },
"background":{ "scripts":["background.js"] },
"permissions":[ "http://*.renren.com/*" ],
"content_scripts": [ {
"matches":["http://*.renren.com/*"],
"js": ["jquery.js", "script_renren.js"] }]
}
真正要用到的只是jquery.js和script_renren.js两个东西,icon和background.js只是一个强迫症和完美主义者的恶趣味 :)。
随手找了一个是1.10.2版jquery库,其实只是用了它的选择器,JS原生的getElementById也能搞定,无奈偷懒已成习惯。
script_renren.js定义如下:
1
2
3
4
5
$("#right-fix-info").css("display","none");
$("div.recent-app-cont").css("display","none");
chrome.extension.sendRequest({command: "Finished"}, function(response) {
console.log(response.okay);
});
第一行取消显示了历史上的今天,第二行取消显示了“最近使用的应用”。之后的内容只是想提高一下自己的用户体验。它发送了一个消息给扩展后台,告诉它已经在人人页面上处理完了这些事。
background.js定义如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.command == "Finished")
{
sendResponse({okay: "Everything will be fine"});
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
if (tabs.length === 0)
return;
var tab = tabs[0];
var tabId = tab.id;
chrome.browserAction.setIcon({path:"renren.png", tabId: tabId});
});
}
else
sendResponse({});
});
background.js处理一件事情:收到前面所说的信息,然后把图标状态从灰色的改成彩色的,顺便在控制台里写一句话。
从此,只要开启插件,我的人人网就没有“最近使用的应用”和“历史上的今天”功能了。
Everything will be fine.
也许我真的不够努力。
This post is licensed under CC BY 4.0 by the author.