-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrjtips.txt
132 lines (132 loc) · 4.88 KB
/
rjtips.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*background.js
if(Persistence.layerTips.val() == 1) return;
var arr = [];
if(fdCount) arr.push({type: "friendsTimeline", data: (localStorage.getObject("friendsTimeline")||[]).slice(0, fdCount)});
if(mmCount) arr.push({type: "mentionsTimeline", data: (localStorage.getObject("mentionsTimeline")||[]).slice(0, mmCount)});
if(dmCount) arr.push({type: "directMessage", data: (localStorage.getObject("directMessage")||[]).slice(0, dmCount)});
if(tjCount) arr.push({type: "recommends", data: (localStorage.getObject("recommends")||[]).slice(0, tjCount)});
if(arr.length)
chrome.tabs.getSelected(null, function(tab){
if(tab.url && /renjian.com/.test(tab.url)) return;
chrome.tabs.sendRequest(tab.id, {messages: arr});
}); */
/*
Array.prototype.shuffle = function(times){
var start, deleteCount;
times = times || 10;
for(var i = 0, l = times; i < l; i++){
start = Math.floor(this.length * Math.random());
deleteCount = Math.floor(Math.random() * (this.length - start)) + 1;
this.push.apply(this, this.splice(start, deleteCount));
}
}
var HashType = {
"friendsTimeline": "动态",
"mentionsTimeline": "提到我",
"directMessage": "悄悄话"
};
var rjdp_tpl = '{for message in messages}\
<div class="rjdp_item">\
<span class="rjdp_type ${message.type}">${HashType[message.type]}</span>\
<strong class="rjdp_screenName">${message.screenName}:</strong>\
{if message.zt}<span class="rjdp_zt">转发</span>{/if}\
<span class="rjdp_text">${message.text} <b class="rjdp_time">${message.time}</b></span>\
<span class="rjdp_source">通过${message.source}</span>\
</div>\
{/for}';
function close_rjdp(){
$("#rjdp_tips").fadeOut(function(){
$("#rjdp_list").empty();
});
return false;
}
function htmlEncode(str){
str = str || "";
return str.replace(/&/g, ">")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/\'/g, "'")
.replace(/\r\n|\n/g, "<br />")
.replace(/^\s+|\s+$/g, "")
.replace(/\"/g, """);
}
function fixText(source, length){
if(charCount(source) > length)
{
while(charCount(source) > length - 3)
{
source = source.slice(0, -1);
}
while(charCount(source) < length) source += ".";
}
function charCount(text)
{
return text.replace(/[^\x00-\xff]/g,"11").length;
}
return htmlEncode(source);
}
function parseTime(s){
//2010-07-09 15:22:42 +0800
var arr = s.split(/\s+/);
var ymd = arr[0].split("-"), hms = arr[1].split(":");
return new Date(ymd[0], parseInt(ymd[1],10) - 1, ymd[2], hms[0], hms[1], hms[2]).valueOf();
}
var timer = 0;
chrome.extension.onRequest.addListener(function(request, sender, sendResponse){
chrome.extension.sendRequest({layerTips: 1});
try{
if(request.close){
if($("#rjdp_tips").length && $("#rjdp_tips").is(":visible")) $("#rjdp_close").click();
return;
}
var messages = [];
for(var i = 0, l = request.messages.length; i < l; i++){
var obj = request.messages[i];
for(var j = 0, len = obj.data.length; j < len; j++){
var status = obj.data[j], sText = status.text;
if(sText == "" && status.attachment){
if(status.attachment.type == "LINK"){
sText = status.attachment.title ? status.attachment.title : status.attachment.url;
}else if(status.attachment.type == "PICTURE"){
sText = "发了一张图片";
}
}else if(status.text == "" && status.forwarded_status){
sText = status.forwarded_status.text;
if(sText == "" && status.forwarded_status.attachment){
if(status.forwarded_status.attachment.type == "LINK"){
sText = status.attachment.title ? status.attachment.title : status.attachment.url;
}else if(status.forwarded_status.attachment.type == "PICTURE"){
sText = "发了一张图片";
}
}
}
messages.push({
type: obj.type,
screenName: status.user ? status.user.screen_name : status.sender ? status.sender.screen_name : status.screen_name,
text: fixText(sText, 150),
time: status.created_at.replace(/\s+\+.+$/, ""),
created_at: parseTime(status.created_at),
source: status.source||"网站",
zt: status.forwarded_status ? true : false
});
}
}
if(!messages.length) return;
messages.sort(function(a, b){
return b.created_at - a.created_at;
});
if(messages.length > 5) messages.length = 5;
var ret = TrimPath.parseTemplate(rjdp_tpl).process({messages: messages});
if(!$("#rjdp_tips").length){
$('<div id="rjdp_tips"><a id="rjdp_close" href="javascript:void(0)">关闭</a><div id="rjdp_list"></div></div>').appendTo(document.body);
}
if(timer) clearTimeout(timer);
$("#rjdp_list").empty().html(ret).fadeIn(function(){
/*timer = setTimeout(function(){
if($("#rjdp_tips").is(":visible")) $("#rjdp_close").click();
}, 20000);*/
});
$("#rjdp_tips").fadeIn();
$("#rjdp_close").click(close_rjdp);
}catch(e){console.error(e.message);}
});*/