-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.js
113 lines (90 loc) · 2.62 KB
/
init.js
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
var basedir="http://www.magicscroll.net/bookmarklet/";
var log = function(s, level) {
if (!level) {
level = 0;
}
if ((level < 1) && (typeof console !== 'undefined')) {
console.log(s);
}
};
String.prototype.nextWordIndex = function(startpos) {
var sub = this.substring(startpos || 0);
var indexOf = sub.search(/(<|\s|>\S)/img);
if (indexOf >= 0) {
if (sub[indexOf] === "<") {
indexOf = sub.search(/>/img);
if (indexOf == -1) {
return sub.search(/</img) + (startpos || 0);
}
}
if ((sub[indexOf] === ">") && (indexOf < sub.length - 2)) {
indexOf++;
}
return indexOf + (startpos || 0);
} else {
return indexOf;
}
};
var ss_url = function(resource) {
return basedir + resource;
};
var ss_state = (typeof window.ss_bookmarkletstate != 'undefined') ? window.ss_bookmarkletstate : {};
var ss_loadlocal = function(key, callback) {
callback(ss_state);
};
var ss_savelocal = function (obj) {
for (var key in obj) {
ss_state[key] = obj[key];
}
try {
document.getElementById("ss_bookmarklet").href = "javascript:(function(){"
+ "window.ss_bookmarkletstate = " + JSON.stringify(ss_state) + "; "
+ "var resource = document.createElement(\"script\");"
+ "resource.src = \"" + ss_url("init.js") + "\"; document.documentElement.appendChild(resource);}());";
} catch (err) {
}
};
var ss_loadsync = function(key, callback) {
ss_loadlocal(key, callback);
};
var ss_savesync = function(object) {
ss_savelocal(object);
};
var ss_load = {
glass: null,
show: function() {
if (ss_load.glass == null) {
log("Starting load dialog", 2);
ss_load.glass = document.createElement("p");
ss_load.glass.className = "ss_load_container";
document.body.appendChild(ss_load.glass);
}
ss_load.glass.style.visibility = "visible";
},
hide: function() {
ss_load.glass.style.visibility = "hidden";
}
}
var link = document.createElement("link");
link.href = ss_url("staticscroll.css");
link.type = "text/css";
link.rel = "stylesheet";
document.getElementsByTagName("head")[0].appendChild(link);
function loadScript(src) {
var script = document.createElement('script');
script.src = ss_url(src);
document.documentElement.appendChild(script);
}
var scripts = ["readability.js", "staticscroll.js"];
loadScript(scripts[0]);
var intId = setInterval("loadStaticScroll()", 10);
function loadStaticScroll() {
if ((typeof readability != 'undefined') && (typeof staticscroll == 'undefined')) {
loadScript(scripts[1]);
} else if (typeof staticscroll != 'undefined') {
staticscroll.fontSize = ss_state.ss_fs || 1;
staticscroll.colorScheme = ss_state.ss_cs || 0;
staticscroll.init();
clearInterval(intId);
}
}