image preloading
This commit is contained in:
parent
35adc74240
commit
30c6566508
21
4chan_x.js
21
4chan_x.js
@ -56,14 +56,18 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var $, $$, DAY, Dialog, a, arr, as, autoWatch, autohide, b, board, callback, changeCheckbox, changeValue, 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, imageExpand, imageExpandClick, imageResize, imageThumb, imageToggle, imageType, imageTypeChange, img, inAfter, inBefore, input, inputs, keyModeInsert, keyModeNormal, keydown, keypress, l1, lastChecked, m, mv, n, navbotr, navtopr, nodeInserted, now, omitted, onloadComment, onloadThread, option, options, parseResponse, pathname, qrListener, qrText, quickReply, recaptcha, recaptchaListener, recaptchaReload, redirect, replace, replyNav, report, request, rm, 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, updateVerbose, updaterMake, watch, watchX, watcher, watcherUpdate, x, zeroPad, _, _base, _i, _j, _k, _l, _len, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _ref, _ref2, _ref3, _ref4, _ref5, _ref6;
|
var $, $$, DAY, Dialog, a, arr, as, autoWatch, autohide, b, board, callback, changeCheckbox, changeValue, 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, imageExpand, imageExpandClick, imageResize, imageThumb, imageToggle, imageType, imageTypeChange, img, inAfter, inBefore, input, inputs, keyModeInsert, keyModeNormal, keydown, keypress, l1, lastChecked, log, m, mv, n, navbotr, navtopr, nodeInserted, now, omitted, onloadComment, onloadThread, option, options, parseResponse, pathname, qrListener, qrText, quickReply, recaptcha, recaptchaListener, recaptchaReload, redirect, replace, replyNav, report, request, rm, 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, updateVerbose, updaterMake, watch, watchX, watcher, watcherUpdate, x, zeroPad, _, _base, _i, _j, _k, _l, _len, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _ref, _ref2, _ref3, _ref4, _ref5, _ref6;
|
||||||
var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __slice = Array.prototype.slice;
|
var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, __slice = Array.prototype.slice;
|
||||||
|
if (typeof console != "undefined" && console !== null) {
|
||||||
|
log = console.log;
|
||||||
|
}
|
||||||
config = {
|
config = {
|
||||||
'404 Redirect': [true, 'Redirect dead threads'],
|
'404 Redirect': [true, 'Redirect dead threads'],
|
||||||
'Anonymize': [false, 'Make everybody anonymous'],
|
'Anonymize': [false, 'Make everybody anonymous'],
|
||||||
'Auto Watch': [true, 'Automatically watch threads that you start (Firefox only)'],
|
'Auto Watch': [true, 'Automatically watch threads that you start (Firefox only)'],
|
||||||
'Comment Expansion': [true, 'Expand too long comments'],
|
'Comment Expansion': [true, 'Expand too long comments'],
|
||||||
'Image Expansion': [true, 'Expand images'],
|
'Image Expansion': [true, 'Expand images'],
|
||||||
|
'Image Preloading': [false, 'Preload Images'],
|
||||||
'Keybinds': [false, 'Binds actions to keys'],
|
'Keybinds': [false, 'Binds actions to keys'],
|
||||||
'Localize Time': [true, 'Show times based on your timezone'],
|
'Localize Time': [true, 'Show times based on your timezone'],
|
||||||
'Persistent QR': [false, 'Quick reply won\'t disappear after posting. Only in replies.'],
|
'Persistent QR': [false, 'Quick reply won\'t disappear after posting. Only in replies.'],
|
||||||
@ -1579,6 +1583,21 @@
|
|||||||
return _results;
|
return _results;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (getConfig('Image Preloading')) {
|
||||||
|
g.callbacks.push(function(root) {
|
||||||
|
var parent, thumb, thumbs, _i, _len, _results;
|
||||||
|
thumbs = $$('img[md5]', root);
|
||||||
|
_results = [];
|
||||||
|
for (_i = 0, _len = thumbs.length; _i < _len; _i++) {
|
||||||
|
thumb = thumbs[_i];
|
||||||
|
parent = thumb.parentNode;
|
||||||
|
_results.push(el = n('img', {
|
||||||
|
src: parent.href
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
return _results;
|
||||||
|
});
|
||||||
|
}
|
||||||
if (getConfig('Localize Time')) {
|
if (getConfig('Localize Time')) {
|
||||||
g.callbacks.push(function(root) {
|
g.callbacks.push(function(root) {
|
||||||
var date, day, dotw, hour, min_sec, month, s, span, spans, year, _i, _len, _ref, _results;
|
var date, day, dotw, hour, min_sec, month, s, span, spans, year, _i, _len, _ref, _results;
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
{log} = console if console?
|
||||||
#todo: remove close()?, make hiddenReplies/hiddenThreads local, comments, gc
|
#todo: remove close()?, make hiddenReplies/hiddenThreads local, comments, gc
|
||||||
#todo: remove stupid 'obj', arr el, make hidden an object, smarter xhr, text(), @this, images, clear hidden
|
#todo: remove stupid 'obj', arr el, make hidden an object, smarter xhr, text(), @this, images, clear hidden
|
||||||
#todo: watch - add board in updateWatcher?, redundant move divs?, redo css / hiding, manual clear
|
#todo: watch - add board in updateWatcher?, redundant move divs?, redo css / hiding, manual clear
|
||||||
@ -7,28 +8,29 @@
|
|||||||
#TODO - expose 'hidden' configs
|
#TODO - expose 'hidden' configs
|
||||||
|
|
||||||
config =
|
config =
|
||||||
'404 Redirect': [true, 'Redirect dead threads']
|
'404 Redirect': [true, 'Redirect dead threads']
|
||||||
'Anonymize': [false, 'Make everybody anonymous']
|
'Anonymize': [false, 'Make everybody anonymous']
|
||||||
'Auto Watch': [true, 'Automatically watch threads that you start (Firefox only)']
|
'Auto Watch': [true, 'Automatically watch threads that you start (Firefox only)']
|
||||||
'Comment Expansion': [true, 'Expand too long comments']
|
'Comment Expansion': [true, 'Expand too long comments']
|
||||||
'Image Expansion': [true, 'Expand images']
|
'Image Expansion': [true, 'Expand images']
|
||||||
|
'Image Preloading': [false, 'Preload Images']
|
||||||
'Keybinds': [false, 'Binds actions to keys']
|
'Keybinds': [false, 'Binds actions to keys']
|
||||||
'Localize Time': [true, 'Show times based on your timezone']
|
'Localize Time': [true, 'Show times based on your timezone']
|
||||||
'Persistent QR': [false, 'Quick reply won\'t disappear after posting. Only in replies.']
|
'Persistent QR': [false, 'Quick reply won\'t disappear after posting. Only in replies.']
|
||||||
'Post in Title': [true, 'Show the op\'s post in the tab title']
|
'Post in Title': [true, 'Show the op\'s post in the tab title']
|
||||||
'Quick Reply': [true, 'Reply without leaving the page']
|
'Quick Reply': [true, 'Reply without leaving the page']
|
||||||
'Quick Report': [true, 'Add quick report buttons']
|
'Quick Report': [true, 'Add quick report buttons']
|
||||||
'Reply Hiding': [true, 'Hide single replies']
|
'Reply Hiding': [true, 'Hide single replies']
|
||||||
'Reply Navigation': [true, 'Navigate to the beginning / end of a thread']
|
'Reply Navigation': [true, 'Navigate to the beginning / end of a thread']
|
||||||
'Restore IDs': [true, 'Check \'em']
|
'Restore IDs': [true, 'Check \'em']
|
||||||
'Sauce': [true, 'Add sauce to images']
|
'Sauce': [true, 'Add sauce to images']
|
||||||
'Show Stubs': [true, 'Of hidden threads / replies']
|
'Show Stubs': [true, 'Of hidden threads / replies']
|
||||||
'Thread Expansion': [true, 'View all replies']
|
'Thread Expansion': [true, 'View all replies']
|
||||||
'Thread Hiding': [true, 'Hide entire threads']
|
'Thread Hiding': [true, 'Hide entire threads']
|
||||||
'Thread Navigation': [true, 'Navigate to previous / next thread']
|
'Thread Navigation': [true, 'Navigate to previous / next thread']
|
||||||
'Thread Updater': [true, 'Update threads']
|
'Thread Updater': [true, 'Update threads']
|
||||||
'Thread Watcher': [true, 'Bookmark threads']
|
'Thread Watcher': [true, 'Bookmark threads']
|
||||||
'Unread Count': [true, 'Show unread post count in tab title']
|
'Unread Count': [true, 'Show unread post count in tab title']
|
||||||
|
|
||||||
#x-browser
|
#x-browser
|
||||||
if typeof GM_deleteValue is 'undefined'
|
if typeof GM_deleteValue is 'undefined'
|
||||||
@ -1206,6 +1208,13 @@ if getConfig 'Image Expansion'
|
|||||||
thumb.parentNode.addEventListener 'click', imageClick, true
|
thumb.parentNode.addEventListener 'click', imageClick, true
|
||||||
if g.expand then imageToggle thumb.parentNode
|
if g.expand then imageToggle thumb.parentNode
|
||||||
|
|
||||||
|
if getConfig 'Image Preloading'
|
||||||
|
g.callbacks.push (root) ->
|
||||||
|
thumbs = $$ 'img[md5]', root
|
||||||
|
for thumb in thumbs
|
||||||
|
parent = thumb.parentNode
|
||||||
|
el = n 'img', src: parent.href
|
||||||
|
|
||||||
if getConfig 'Localize Time'
|
if getConfig 'Localize Time'
|
||||||
g.callbacks.push (root) ->
|
g.callbacks.push (root) ->
|
||||||
spans = $$ 'span[id^=no]', root
|
spans = $$ 'span[id^=no]', root
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user