-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdogeify_chrome.js
More file actions
96 lines (80 loc) · 2.55 KB
/
dogeify_chrome.js
File metadata and controls
96 lines (80 loc) · 2.55 KB
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
//dogeify.js
function jsonp(url, callback) {
var callbackName = 'jsonp_callback_' + Math.round(100000 * Math.random());
window[callbackName] = function(data) {
delete window[callbackName];
callback(data);
};
var script = document.createElement('script');
script.src = url + (url.indexOf('?') >= 0 ? '&' : '?') + 'jsonp=' + callbackName;
document.body.appendChild(script);
}
function xhr(url, callback) {
var xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
callback(xhr.responseText);
}
};
xhr.send();
}
function randColor() {
return '#' + Math.floor(Math.random()*16777215).toString(16);
}
function appendImages(data) {
data = JSON.parse(data) || {};
var imgs = document.getElementsByTagName('img');
for(var i = 0; i < imgs.length; i++){
if(i < data.data.children.length && data.data.children[i] !== undefined){
//console.log(data.data.children[i].data.url);
var url = data.data.children[i].data.url;
if(url.match(/png|jpg|gif/g)){
imgs[i].src = data.data.children[i].data.url;
}
}
}
}
function getImages() {
xhr('https://www.reddit.com/r/doge/.json', function(data) {
appendImages(data);
});
}
function addSpanColors() {
var spans = document.getElementsByTagName('span');
for (var i = 0; i < spans.length; i++) {
spans[i].style.color = randColor();
}
}
function addLinkColors() {
var links = document.getElementsByTagName('a');
for(var i = 0; i < links.length; i++){
links[i].style.color = randColor();
}
}
function modifyHeaders() {
var h1s = document.getElementsByTagName('h1');
var h2s = document.getElementsByTagName('h2');
var wows = ['Such Wow!', 'Such Nice.', 'Wow!', 'NO.'];
var scares = ['so scare', 'plz no', '...!', '...no.'];
for(var i = 0; i < h1s.length; i++){
h1s[i].style.color = randColor();
h1s[i].style.fontFamily = 'comic sans ms,sans-serif';
if(i <= wows.length){
h1s[i].innerHTML = h1s[i].innerHTML + ', ' + wows[i];
}
}
for(var j = 0; j < h2s.length; j++){
if(j <= scares.length){
h2s[j].innerHTML = h2s[j].innerHTML + '... ' + scares[j];
}
}
}
window.addEventListener('init', function() {
addSpanColors();
addLinkColors();
modifyHeaders();
getImages();
});
window.dispatchEvent(new Event('init'));