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
| -
|
|
|
|
|
-
|
!
|
|
-
-
|
!
|
|
|
|
|
|
|
|
|
|
|
|
|
-
-
|
|
|
!
!
|
!
|
-
|
-
|
!
|
-
-
|
|
|
|
!
|
|
-
|
-
|
|
|
|
|
!
|
|
-
|
!
!
|
|
|
|
|
|
|
|
!
!
| javascript: (function(global) {
var panelBaseId = 'FindClusters-Panel';
var panelClustersId = 'Clusters-Panel';
var scriptElmId = 'findClusterScript';
var callbackName = 'findClusters';
addPanel();
if (!global[callbackName]) {
global[callbackName] = {};
}
callApi(scriptElmId, callbackName);
function addPanel() {
if (document.getElementById(panelBaseId)) {
return;
}
var panelBase = document.createElement('div');
panelBase.id = panelBaseId;
panelBase.style.position = 'fixed';
panelBase.style.right = '0em';
panelBase.style.bottom = '0em';
panelBase.style.textAlign = 'right';
document.getElementsByTagName('body')[0].appendChild(panelBase);
var panelClusters = document.createElement('div');
panelClusters.id = panelClustersId;
panelBase.appendChild(panelClusters);
var btnCheck = document.createElement('input');
btnCheck.type = 'button';
btnCheck.value = 'check';
btnCheck.addEventListener('click', (function(panelId, fn, scriptId, callbackName) {
return function() {
var panel = document.getElementById(panelId);
panel.innerHTML = '';
fn(scriptId, callbackName);
};
})(panelClustersId, callApi, scriptElmId, callbackName), false);
panelBase.appendChild(btnCheck);
}
function callApi(scriptId, callbackName) {
var existingScript = document.getElementById(scriptId);
if (existingScript) {
existingScript.parentNode.removeChild(existingScript);
}
var now = new Date - 0;
global[callbackName]['_' + now] = function(data) {
var power = {
0: '普通',
1: '炎',
2: '光',
3: '風'
};
var panel = document.getElementById(panelClustersId);
var results = data.results;
if (results.length) {
var html = '<table><tr><th>URL</th><th>勢力</th><th>強敵</th></tr>\n';
for (var i = 0, cl; cl = results[i]; ++i) {
html += '<tr>' +
'<td><a href="' + cl.URL + '" target="coopPage" >' + cl.URL + '</a></td>' +
'<td>' + power[cl.Power || 0] + '</td>' +
'<td>' + (cl.IsPowerful * 1 ? '強敵' : '') + '</td>' +
'</tr>';
}
html += '</table>';
panel.innerHTML = html;
} else {
alert(data.code == '200' ? 'No Living Cluster' : data.message);
}
};
var findClusterScriptElm = document.createElement('script');
findClusterScriptElm.id = scriptId;
findClusterScriptElm.type = 'text/javascript';
findClusterScriptElm.charset = 'utf-8';
findClusterScriptElm.src = 'http://www.takeash.net/CCCAPI/findClusters.cgi' +
'?callback=' + callbackName + '._' + now +
'&url=' + encodeURIComponent(location.href);
document.body.appendChild(findClusterScriptElm);
}
})(this);
|