fix favicons again, updateFavicon(), 404 message
This commit is contained in:
parent
c2985dbe95
commit
4f91cd28ba
@ -812,6 +812,13 @@ request = (url, callback) ->
|
||||
r
|
||||
|
||||
updateCallback = ->
|
||||
count = $ '#updater #count'
|
||||
if @status is 404
|
||||
count.textContent = 404
|
||||
count.className = 'error'
|
||||
g.dead = true
|
||||
updateFavicon()
|
||||
return
|
||||
body = n 'body', innerHTML: @responseText
|
||||
replies = $$ 'td.reply', body
|
||||
|
||||
@ -827,13 +834,29 @@ updateCallback = ->
|
||||
inAfter root, table
|
||||
++i
|
||||
|
||||
count = $ '#updater #count'
|
||||
count.textContent = "+#{i}"
|
||||
count.className = if i is 0 then '' else 'new'
|
||||
|
||||
span = $ '#updater #timer'
|
||||
span.textContent = -1 * GM_getValue 'Interval', 10
|
||||
|
||||
updateFavicon = ->
|
||||
len = g.replies.length
|
||||
if g.dead
|
||||
if len > 0
|
||||
href = g.favDeadHalo
|
||||
else
|
||||
href = g.favDead
|
||||
else
|
||||
if len > 0
|
||||
href = g.favHalo
|
||||
else
|
||||
href = g.favDefault
|
||||
favicon = $ 'link[rel="shortcut icon"]', d
|
||||
clone = favicon.cloneNode true
|
||||
clone.href = href
|
||||
replace favicon, clone
|
||||
|
||||
updateTime = ->
|
||||
span = $ '#updater #timer'
|
||||
time = Number span.textContent
|
||||
@ -848,6 +871,7 @@ updateTime = ->
|
||||
updateTitle = ->
|
||||
len = g.replies.length
|
||||
document.title = document.title.replace /\d+/, len
|
||||
updateFavicon()
|
||||
|
||||
updateAuto = ->
|
||||
span = $ '#updater #timer'
|
||||
@ -937,10 +961,10 @@ g =
|
||||
callbacks: []
|
||||
count: 0
|
||||
expand: false
|
||||
favDead: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEUAAAAAAAD/AAA9+90tAAAAAXRSTlMAQObYZgAAADtJREFUCB0FwUERxEAIALDszMG730PNSkBEBSECoU0AEPe0mly5NWprRUcDQAdn68qtkVsj3/84z++CD5u7CsnoBJoaAAAAAElFTkSuQmCC'
|
||||
favDeadHalo: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAWUlEQVR4XrWSAQoAIAgD/f+njSApsTqjGoTQ5oGWPJMOOs60CzsWwIwz1I4PUIYh+WYEMGQ6I/txw91kP4oA9BdwhKp1My4xQq6e8Q9ANgDJjOErewFiNesV2uGSfGv1/HYAAAAASUVORK5CYII='
|
||||
favDefault: $('link[rel="shortcut icon"]', d)?.href or '' #no favicon in `post successful` page
|
||||
favEmpty: 'http://static.4chan.org/image/favicon-dis.ico'
|
||||
favDefault: $('link[rel="shortcut icon"]', $('head', d))?.href or 'http://static.4chan.org/image/favicon.ico'
|
||||
favDeadHalo: 'data =image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAWUlEQVR4XrWSAQoAIAgD/f+njSApsTqjGoTQ5oGWPJMOOs60CzsWwIwz1I4PUIYh+WYEMGQ6I/txw91kP4oA9BdwhKp1My4xQq6e8Q9ANgDJjOErewFiNesV2uGSfGv1/HYAAAAASUVORK5CYII='
|
||||
favDead: 'data =image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEUAAAAAAAD/AAA9+90tAAAAAXRSTlMAQObYZgAAADtJREFUCB0FwUERxEAIALDszMG730PNSkBEBSECoU0AEPe0mly5NWprRUcDQAdn68qtkVsj3/84z++CD5u7CsnoBJoaAAAAAElFTkSuQmCC'
|
||||
flavors: [
|
||||
'http://regex.info/exif.cgi?url='
|
||||
'http://iqdb.org/?url='
|
||||
@ -950,7 +974,7 @@ g =
|
||||
iframe: false
|
||||
watched: JSON.parse(GM_getValue('watched', '{}'))
|
||||
xhrs: []
|
||||
g.favHalo = if /ws/.test(g.favDefault) then 'data =image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZklEQVR4XrWRQQoAIQwD+6L97j7Ih9WTQQxhDqJQCk4Mranuvqod6LgwawSqSuUmWSPw/UNlJlnDAmA2ARjABLYj8ZyCzJHHqOg+GdAKZmKPIQUzuYrxicHqEgHzP9g7M0+hj45sAnRWxtPj3zSPAAAAAElFTkSuQmCC' else 'data =image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAABmzDP///8AAABet0i+AAAAAXRSTlMAQObYZgAAAExJREFUeF4tyrENgDAMAMFXKuQswQLBG3mOlBnFS1gwDfIYLpEivvjq2MlqjmYvYg5jWEzCwtDSQlwcXKCVLrpFbvLvvSf9uZJ2HusDtJAY7Tkn1oYAAAAASUVORK5CYII='
|
||||
g.favHalo = if /ws/.test g.favDefault then 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZklEQVR4XrWRQQoAIQwD+6L97j7Ih9WTQQxhDqJQCk4Mranuvqod6LgwawSqSuUmWSPw/UNlJlnDAmA2ARjABLYj8ZyCzJHHqOg+GdAKZmKPIQUzuYrxicHqEgHzP9g7M0+hj45sAnRWxtPj3zSPAAAAAElFTkSuQmCC' else 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAABmzDP///8AAABet0i+AAAAAXRSTlMAQObYZgAAAExJREFUeF4tyrENgDAMAMFXKuQswQLBG3mOlBnFS1gwDfIYLpEivvjq2MlqjmYvYg5jWEzCwtDSQlwcXKCVLrpFbvLvvSf9uZJ2HusDtJAY7Tkn1oYAAAAASUVORK5CYII='
|
||||
pathname = location.pathname.substring(1).split('/')
|
||||
[g.BOARD, temp] = pathname
|
||||
if temp is 'res'
|
||||
|
||||
43
4chan_x.js
43
4chan_x.js
@ -1,5 +1,5 @@
|
||||
(function() {
|
||||
var $, $$, AEOS, DAY, a, addTo, arr, as, autoWatch, autohide, b, board, callback, clearHidden, closeQR, config, cooldown, cutoff, d, delform, down, editSauce, el, expand, expandComment, expandThread, formSubmit, g, getConfig, getThread, getTime, hide, hideReply, hideThread, href, html, i, id, iframe, iframeLoad, imageClick, imageExpandClick, imageFull, imageThumb, imageToggle, img, inAfter, inBefore, input, inputs, keyModeInsert, keyModeNormal, keydown, keypress, l1, lastChecked, m, n, navbotr, navtopr, nodeInserted, now, omitted, onloadComment, onloadThread, options, optionsClose, parseResponse, pathname, qrListener, qrText, quickReply, recaptcha, recaptchaListener, recaptchaReload, redirect, remove, replace, replyNav, report, request, scroll, scrollThread, show, showReply, showThread, slice, span, src, start, stopPropagation, temp, text, textContent, thread, threadF, threads, tn, tzOffset, up, updateAuto, updateCallback, updateInterval, updateNow, updateTime, updateTitle, updaterMake, watch, watchX, watcher, watcherUpdate, x, zeroPad, _, _base, _i, _j, _k, _l, _len, _len2, _len3, _len4, _len5, _len6, _m, _ref, _ref2, _ref3, _ref4;
|
||||
var $, $$, AEOS, DAY, a, addTo, arr, as, autoWatch, autohide, b, board, callback, clearHidden, closeQR, config, cooldown, cutoff, d, delform, down, editSauce, el, expand, expandComment, expandThread, formSubmit, g, getConfig, getThread, getTime, hide, hideReply, hideThread, href, html, i, id, iframe, iframeLoad, imageClick, imageExpandClick, imageFull, imageThumb, imageToggle, img, inAfter, inBefore, input, inputs, keyModeInsert, keyModeNormal, keydown, keypress, l1, lastChecked, m, n, navbotr, navtopr, nodeInserted, now, omitted, onloadComment, onloadThread, options, optionsClose, parseResponse, pathname, qrListener, qrText, quickReply, recaptcha, recaptchaListener, recaptchaReload, redirect, remove, replace, replyNav, report, request, scroll, scrollThread, show, showReply, showThread, slice, span, src, start, stopPropagation, temp, text, textContent, thread, threadF, threads, tn, tzOffset, up, updateAuto, updateCallback, updateFavicon, updateInterval, updateNow, updateTime, updateTitle, updaterMake, watch, watchX, watcher, watcherUpdate, x, zeroPad, _, _base, _i, _j, _k, _l, _len, _len2, _len3, _len4, _len5, _len6, _m, _ref, _ref2, _ref3, _ref4;
|
||||
var __slice = Array.prototype.slice, __indexOf = Array.prototype.indexOf || function(item) {
|
||||
for (var i = 0, l = this.length; i < l; i++) {
|
||||
if (this[i] === item) return i;
|
||||
@ -1071,6 +1071,14 @@
|
||||
};
|
||||
updateCallback = function() {
|
||||
var body, count, i, id, replies, reply, root, span, table;
|
||||
count = $('#updater #count');
|
||||
if (this.status === 404) {
|
||||
count.textContent = 404;
|
||||
count.className = 'error';
|
||||
g.dead = true;
|
||||
updateFavicon();
|
||||
return;
|
||||
}
|
||||
body = n('body', {
|
||||
innerHTML: this.responseText
|
||||
});
|
||||
@ -1087,12 +1095,32 @@
|
||||
inAfter(root, table);
|
||||
++i;
|
||||
}
|
||||
count = $('#updater #count');
|
||||
count.textContent = "+" + i;
|
||||
count.className = i === 0 ? '' : 'new';
|
||||
span = $('#updater #timer');
|
||||
return span.textContent = -1 * GM_getValue('Interval', 10);
|
||||
};
|
||||
updateFavicon = function() {
|
||||
var clone, favicon, href, len;
|
||||
len = g.replies.length;
|
||||
if (g.dead) {
|
||||
if (len > 0) {
|
||||
href = g.favDeadHalo;
|
||||
} else {
|
||||
href = g.favDead;
|
||||
}
|
||||
} else {
|
||||
if (len > 0) {
|
||||
href = g.favHalo;
|
||||
} else {
|
||||
href = g.favDefault;
|
||||
}
|
||||
}
|
||||
favicon = $('link[rel="shortcut icon"]', d);
|
||||
clone = favicon.cloneNode(true);
|
||||
clone.href = href;
|
||||
return replace(favicon, clone);
|
||||
};
|
||||
updateTime = function() {
|
||||
var span, time;
|
||||
span = $('#updater #timer');
|
||||
@ -1109,7 +1137,8 @@
|
||||
updateTitle = function() {
|
||||
var len;
|
||||
len = g.replies.length;
|
||||
return document.title = document.title.replace(/\d+/, len);
|
||||
document.title = document.title.replace(/\d+/, len);
|
||||
return updateFavicon();
|
||||
};
|
||||
updateAuto = function() {
|
||||
var span;
|
||||
@ -1213,16 +1242,16 @@
|
||||
callbacks: [],
|
||||
count: 0,
|
||||
expand: false,
|
||||
favDead: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEUAAAAAAAD/AAA9+90tAAAAAXRSTlMAQObYZgAAADtJREFUCB0FwUERxEAIALDszMG730PNSkBEBSECoU0AEPe0mly5NWprRUcDQAdn68qtkVsj3/84z++CD5u7CsnoBJoaAAAAAElFTkSuQmCC',
|
||||
favDeadHalo: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAWUlEQVR4XrWSAQoAIAgD/f+njSApsTqjGoTQ5oGWPJMOOs60CzsWwIwz1I4PUIYh+WYEMGQ6I/txw91kP4oA9BdwhKp1My4xQq6e8Q9ANgDJjOErewFiNesV2uGSfGv1/HYAAAAASUVORK5CYII=',
|
||||
favDefault: ((_ref = $('link[rel="shortcut icon"]', d)) != null ? _ref.href : void 0) || '',
|
||||
favEmpty: 'http://static.4chan.org/image/favicon-dis.ico',
|
||||
favDefault: ((_ref = $('link[rel="shortcut icon"]', $('head', d))) != null ? _ref.href : void 0) || 'http://static.4chan.org/image/favicon.ico',
|
||||
favDeadHalo: 'data =image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAWUlEQVR4XrWSAQoAIAgD/f+njSApsTqjGoTQ5oGWPJMOOs60CzsWwIwz1I4PUIYh+WYEMGQ6I/txw91kP4oA9BdwhKp1My4xQq6e8Q9ANgDJjOErewFiNesV2uGSfGv1/HYAAAAASUVORK5CYII=',
|
||||
favDead: 'data =image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEUAAAAAAAD/AAA9+90tAAAAAXRSTlMAQObYZgAAADtJREFUCB0FwUERxEAIALDszMG730PNSkBEBSECoU0AEPe0mly5NWprRUcDQAdn68qtkVsj3/84z++CD5u7CsnoBJoaAAAAAElFTkSuQmCC',
|
||||
flavors: ['http://regex.info/exif.cgi?url=', 'http://iqdb.org/?url=', 'http://saucenao.com/search.php?db=999&url=', 'http://tineye.com/search?url='].join('\n'),
|
||||
iframe: false,
|
||||
watched: JSON.parse(GM_getValue('watched', '{}')),
|
||||
xhrs: []
|
||||
};
|
||||
g.favHalo = /ws/.test(g.favDefault) ? 'data =image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZklEQVR4XrWRQQoAIQwD+6L97j7Ih9WTQQxhDqJQCk4Mranuvqod6LgwawSqSuUmWSPw/UNlJlnDAmA2ARjABLYj8ZyCzJHHqOg+GdAKZmKPIQUzuYrxicHqEgHzP9g7M0+hj45sAnRWxtPj3zSPAAAAAElFTkSuQmCC' : 'data =image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAABmzDP///8AAABet0i+AAAAAXRSTlMAQObYZgAAAExJREFUeF4tyrENgDAMAMFXKuQswQLBG3mOlBnFS1gwDfIYLpEivvjq2MlqjmYvYg5jWEzCwtDSQlwcXKCVLrpFbvLvvSf9uZJ2HusDtJAY7Tkn1oYAAAAASUVORK5CYII=';
|
||||
g.favHalo = /ws/.test(g.favDefault) ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAZklEQVR4XrWRQQoAIQwD+6L97j7Ih9WTQQxhDqJQCk4Mranuvqod6LgwawSqSuUmWSPw/UNlJlnDAmA2ARjABLYj8ZyCzJHHqOg+GdAKZmKPIQUzuYrxicHqEgHzP9g7M0+hj45sAnRWxtPj3zSPAAAAAElFTkSuQmCC' : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAABmzDP///8AAABet0i+AAAAAXRSTlMAQObYZgAAAExJREFUeF4tyrENgDAMAMFXKuQswQLBG3mOlBnFS1gwDfIYLpEivvjq2MlqjmYvYg5jWEzCwtDSQlwcXKCVLrpFbvLvvSf9uZJ2HusDtJAY7Tkn1oYAAAAASUVORK5CYII=';
|
||||
pathname = location.pathname.substring(1).split('/');
|
||||
g.BOARD = pathname[0], temp = pathname[1];
|
||||
if (temp === 'res') {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user