Release 4chan X v1.11.20.0.
This commit is contained in:
parent
71f03b8abe
commit
8aa46de5eb
@ -2,6 +2,13 @@
|
||||
|
||||
Sometimes the changelog has notes (not comprehensive) acknowledging people's work. This does not mean the changes are their fault, only that their code was used. All changes to the script are chosen by and the fault of the maintainer (ccd0).
|
||||
|
||||
### v1.11.20
|
||||
|
||||
**v1.11.20.0** *(2015-12-07)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.20.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.20.0/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||
- Based on v1.11.19.5.
|
||||
- Cosmetic fixes for blocked ads.
|
||||
- Add `Inline Cross-thread Quotes Only` option (default: off).
|
||||
|
||||
### v1.11.19
|
||||
|
||||
**v1.11.19.5** *(2015-12-06)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.19.5/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.19.5/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.11.19.5
|
||||
// @version 1.11.20.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.11.19.5
|
||||
// @version 1.11.20.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -254,6 +254,7 @@
|
||||
'Quote Backlinks': [true, 'Add quote backlinks.'],
|
||||
'OP Backlinks': [true, 'Add backlinks to the OP.', 1],
|
||||
'Quote Inlining': [true, 'Inline quoted post on click.'],
|
||||
'Inline Cross-thread Quotes Only': [false, 'Only inline quote links when the posts are on another thread or board, or fetched from the archive.', 1],
|
||||
'Quote Hash Navigation': [false, 'Include an extra link after quotes for autoscrolling to quoted posts.', 1],
|
||||
'Forward Hiding': [true, 'Hide original posts of inlined backlinks.', 1],
|
||||
'Quote Previewing': [true, 'Show quoted post on hover.'],
|
||||
@ -432,7 +433,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.19.5',
|
||||
VERSION: '1.11.20.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -661,7 +662,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
$.onExists = function(root, selector, subtree, cb) {
|
||||
$.onExists = function(root, selector, cb) {
|
||||
var el, observer;
|
||||
if (el = $(selector, root)) {
|
||||
return cb(el);
|
||||
@ -670,7 +671,7 @@
|
||||
$.asap((function() {
|
||||
return d.readyState !== 'loading' || $(selector, root);
|
||||
}), function() {
|
||||
return $.onExists(root, selector, subtree, cb);
|
||||
return $.onExists(root, selector, cb);
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -682,7 +683,7 @@
|
||||
});
|
||||
return observer.observe(root, {
|
||||
childList: true,
|
||||
subtree: subtree
|
||||
subtree: true
|
||||
});
|
||||
};
|
||||
|
||||
@ -697,7 +698,7 @@
|
||||
if (id != null) {
|
||||
style.id = id;
|
||||
}
|
||||
$.onExists(doc, test, true, function() {
|
||||
$.onExists(doc, test, function() {
|
||||
return $.add(d.head, style);
|
||||
});
|
||||
return style;
|
||||
@ -6196,7 +6197,7 @@
|
||||
if (Conf['Quote Previewing']) {
|
||||
$.on(link, 'mouseover', QuotePreview.mouseover);
|
||||
}
|
||||
if (Conf['Quote Inlining']) {
|
||||
if (Conf['Quote Inlining'] && !(Conf['Inline Cross-thread Quotes Only'] && link.getAttribute('href')[0] === '#')) {
|
||||
$.on(link, 'click', QuoteInline.toggle);
|
||||
if (Conf['Quote Hash Navigation']) {
|
||||
hash = QuoteInline.qiQuote(link, $.hasClass(link, 'filtered'));
|
||||
@ -6272,14 +6273,6 @@
|
||||
if (((ref = g.VIEW) !== 'index' && ref !== 'thread') || !Conf['Quote Inlining']) {
|
||||
return;
|
||||
}
|
||||
this.process = Conf['Quote Hash Navigation'] ? function(link, clone) {
|
||||
if (!clone) {
|
||||
$.after(link, QuoteInline.qiQuote(link, $.hasClass(link, 'filtered')));
|
||||
}
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
} : function(link) {
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
};
|
||||
if (Conf['Comment Expansion']) {
|
||||
ExpandComment.callbacks.push(this.node);
|
||||
}
|
||||
@ -6303,6 +6296,17 @@
|
||||
process(link, isClone);
|
||||
}
|
||||
},
|
||||
process: function(link, clone) {
|
||||
if (Conf['Inline Cross-thread Quotes Only'] && link.getAttribute('href')[0] === '#') {
|
||||
return;
|
||||
}
|
||||
if (Conf['Quote Hash Navigation']) {
|
||||
if (!clone) {
|
||||
$.after(link, QuoteInline.qiQuote(link, $.hasClass(link, 'filtered')));
|
||||
}
|
||||
}
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
},
|
||||
qiQuote: function(link, hidden) {
|
||||
var name;
|
||||
name = "hashlink";
|
||||
@ -7957,7 +7961,7 @@
|
||||
}
|
||||
},
|
||||
initMain: function() {
|
||||
return $.onExists(d.body, '#recaptcha-anchor', true, function(checkbox) {
|
||||
return $.onExists(d.body, '#recaptcha-anchor', function(checkbox) {
|
||||
var focus;
|
||||
focus = function() {
|
||||
if (d.hasFocus() && d.activeElement !== checkbox) {
|
||||
@ -8151,11 +8155,11 @@
|
||||
}
|
||||
if (Conf['captchaLanguage'].trim() || Conf['Captcha Fixes']) {
|
||||
if (location.hostname === 'boards.4chan.org') {
|
||||
return $.onExists(doc, '#captchaFormPart', true, function(node) {
|
||||
return $.onExists(node, 'iframe', true, Captcha.replace.iframe);
|
||||
return $.onExists(doc, '#captchaFormPart', function(node) {
|
||||
return $.onExists(node, 'iframe', Captcha.replace.iframe);
|
||||
});
|
||||
} else {
|
||||
return $.onExists(doc, 'iframe', true, Captcha.replace.iframe);
|
||||
return $.onExists(doc, 'iframe', Captcha.replace.iframe);
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -8219,7 +8223,7 @@
|
||||
src: url
|
||||
});
|
||||
$.add(d.head, script);
|
||||
return $.onExists(d.body, 'iframe', true, Captcha.replace.autocopy);
|
||||
return $.onExists(d.body, 'iframe', Captcha.replace.autocopy);
|
||||
},
|
||||
iframe: function(iframe) {
|
||||
var lang, src;
|
||||
@ -16525,7 +16529,7 @@
|
||||
Report.fit('body');
|
||||
}
|
||||
if (!Conf['Use Recaptcha v2 in Reports'] && Main.jsEnabled && d.cookie.indexOf('pass_enabled=1') < 0) {
|
||||
$.onExists(d.body, '#recaptcha_image', true, function(image) {
|
||||
$.onExists(d.body, '#recaptcha_image', function(image) {
|
||||
$.global(function() {
|
||||
return document.getElementById('recaptcha_image').removeEventListener('click', window.onAltCaptchaClick, false);
|
||||
});
|
||||
@ -16537,7 +16541,7 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
return $.onExists(d.body, '#recaptcha_response_field', true, function(field) {
|
||||
return $.onExists(d.body, '#recaptcha_response_field', function(field) {
|
||||
return $.on(field, 'keydown', function(e) {
|
||||
if (e.keyCode === 8 && !field.value) {
|
||||
return $.global(function() {
|
||||
@ -16752,7 +16756,7 @@
|
||||
settings.disableAll = true;
|
||||
return localStorage.setItem('4chan-settings', JSON.stringify(settings));
|
||||
} else {
|
||||
return $.onExists(doc, 'body', false, function() {
|
||||
return $.onExists(doc, 'body', function() {
|
||||
return $.global(function() {
|
||||
return window.Config.disableAll = true;
|
||||
});
|
||||
@ -16855,8 +16859,8 @@
|
||||
}
|
||||
},
|
||||
ads: function(cb) {
|
||||
return $.onExists(doc, '.ad-cnt', true, function(ad) {
|
||||
return $.onExists(ad, 'img', true, function() {
|
||||
return $.onExists(doc, '.ad-cnt', function(ad) {
|
||||
return $.onExists(ad, 'img', function() {
|
||||
return cb($.el('li', {
|
||||
innerHTML: "To protect yourself from <a href=\"//boards.4chan.org/qa/thread/362590\" target=\"_blank\">malicious ads</a>, you should <a href=\"https://github.com/gorhill/uBlock\" target=\"_blank\">block ads</a> on 4chan."
|
||||
}));
|
||||
@ -17661,7 +17665,7 @@
|
||||
}
|
||||
switch (hostname) {
|
||||
case 'www.4chan.org':
|
||||
$.onExists(doc, 'body', false, function() {
|
||||
$.onExists(doc, 'body', function() {
|
||||
return $.addStyle(Main.cssWWW);
|
||||
});
|
||||
Captcha.replace.init();
|
||||
@ -17724,7 +17728,7 @@
|
||||
}
|
||||
g.threads = new SimpleDict();
|
||||
g.posts = new SimpleDict();
|
||||
$.onExists(doc, 'body', false, Main.initStyle);
|
||||
$.onExists(doc, 'body', Main.initStyle);
|
||||
ref2 = Main.features;
|
||||
for (k = 0, len1 = ref2.length; k < len1; k++) {
|
||||
ref3 = ref2[k], name = ref3[0], feature = ref3[1];
|
||||
@ -17753,6 +17757,11 @@
|
||||
if ($.engine) {
|
||||
$.addClass(doc, $.engine);
|
||||
}
|
||||
$.onExists(doc, '.ad-cnt', function(ad) {
|
||||
return $.onExists(ad, 'img', function() {
|
||||
return $.addClass(doc, 'ads-loaded');
|
||||
});
|
||||
});
|
||||
$.addStyle(Main.css, 'fourchanx-css');
|
||||
keyboard = false;
|
||||
$.on(d, 'mousedown', function() {
|
||||
@ -18694,9 +18703,6 @@
|
||||
" border-radius: 3px;\n" +
|
||||
" padding: 0px 2px;\n" +
|
||||
"}\n" +
|
||||
".ad-plea {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"/* 4chan style fixes */\n" +
|
||||
".opContainer, .op {\n" +
|
||||
" display: block !important;\n" +
|
||||
@ -18713,9 +18719,6 @@
|
||||
"[hidden] {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
"hr + div.center:not(.ad-cnt):not(.topad):not(.middlead):not(.bottomad) {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
".page-num {\n" +
|
||||
" margin-right: -8px;\n" +
|
||||
"}\n" +
|
||||
@ -18744,6 +18747,16 @@
|
||||
"body > div[style*=\" top: -10000px;\"] {\n" +
|
||||
" visibility: hidden !important;\n" +
|
||||
"}\n" +
|
||||
"/* Ads */\n" +
|
||||
":root:not(.ads-loaded) .ad-cnt,\n" +
|
||||
":root:not(.ads-loaded) .ad-plea,\n" +
|
||||
":root:not(.ads-loaded) hr.abovePostForm,\n" +
|
||||
":root:not(.ads-loaded) .ad-plea-bottom + hr {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"hr + div.center:not(.ad-cnt):not(.topad):not(.middlead):not(.bottomad) {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
"/* Anti-autoplay */\n" +
|
||||
"audio.controls-added {\n" +
|
||||
" display: block;\n" +
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.19.5
|
||||
// @version 1.11.20.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -254,6 +254,7 @@
|
||||
'Quote Backlinks': [true, 'Add quote backlinks.'],
|
||||
'OP Backlinks': [true, 'Add backlinks to the OP.', 1],
|
||||
'Quote Inlining': [true, 'Inline quoted post on click.'],
|
||||
'Inline Cross-thread Quotes Only': [false, 'Only inline quote links when the posts are on another thread or board, or fetched from the archive.', 1],
|
||||
'Quote Hash Navigation': [false, 'Include an extra link after quotes for autoscrolling to quoted posts.', 1],
|
||||
'Forward Hiding': [true, 'Hide original posts of inlined backlinks.', 1],
|
||||
'Quote Previewing': [true, 'Show quoted post on hover.'],
|
||||
@ -432,7 +433,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.19.5',
|
||||
VERSION: '1.11.20.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -661,7 +662,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
$.onExists = function(root, selector, subtree, cb) {
|
||||
$.onExists = function(root, selector, cb) {
|
||||
var el, observer;
|
||||
if (el = $(selector, root)) {
|
||||
return cb(el);
|
||||
@ -670,7 +671,7 @@
|
||||
$.asap((function() {
|
||||
return d.readyState !== 'loading' || $(selector, root);
|
||||
}), function() {
|
||||
return $.onExists(root, selector, subtree, cb);
|
||||
return $.onExists(root, selector, cb);
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -682,7 +683,7 @@
|
||||
});
|
||||
return observer.observe(root, {
|
||||
childList: true,
|
||||
subtree: subtree
|
||||
subtree: true
|
||||
});
|
||||
};
|
||||
|
||||
@ -697,7 +698,7 @@
|
||||
if (id != null) {
|
||||
style.id = id;
|
||||
}
|
||||
$.onExists(doc, test, true, function() {
|
||||
$.onExists(doc, test, function() {
|
||||
return $.add(d.head, style);
|
||||
});
|
||||
return style;
|
||||
@ -6196,7 +6197,7 @@
|
||||
if (Conf['Quote Previewing']) {
|
||||
$.on(link, 'mouseover', QuotePreview.mouseover);
|
||||
}
|
||||
if (Conf['Quote Inlining']) {
|
||||
if (Conf['Quote Inlining'] && !(Conf['Inline Cross-thread Quotes Only'] && link.getAttribute('href')[0] === '#')) {
|
||||
$.on(link, 'click', QuoteInline.toggle);
|
||||
if (Conf['Quote Hash Navigation']) {
|
||||
hash = QuoteInline.qiQuote(link, $.hasClass(link, 'filtered'));
|
||||
@ -6272,14 +6273,6 @@
|
||||
if (((ref = g.VIEW) !== 'index' && ref !== 'thread') || !Conf['Quote Inlining']) {
|
||||
return;
|
||||
}
|
||||
this.process = Conf['Quote Hash Navigation'] ? function(link, clone) {
|
||||
if (!clone) {
|
||||
$.after(link, QuoteInline.qiQuote(link, $.hasClass(link, 'filtered')));
|
||||
}
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
} : function(link) {
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
};
|
||||
if (Conf['Comment Expansion']) {
|
||||
ExpandComment.callbacks.push(this.node);
|
||||
}
|
||||
@ -6303,6 +6296,17 @@
|
||||
process(link, isClone);
|
||||
}
|
||||
},
|
||||
process: function(link, clone) {
|
||||
if (Conf['Inline Cross-thread Quotes Only'] && link.getAttribute('href')[0] === '#') {
|
||||
return;
|
||||
}
|
||||
if (Conf['Quote Hash Navigation']) {
|
||||
if (!clone) {
|
||||
$.after(link, QuoteInline.qiQuote(link, $.hasClass(link, 'filtered')));
|
||||
}
|
||||
}
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
},
|
||||
qiQuote: function(link, hidden) {
|
||||
var name;
|
||||
name = "hashlink";
|
||||
@ -7957,7 +7961,7 @@
|
||||
}
|
||||
},
|
||||
initMain: function() {
|
||||
return $.onExists(d.body, '#recaptcha-anchor', true, function(checkbox) {
|
||||
return $.onExists(d.body, '#recaptcha-anchor', function(checkbox) {
|
||||
var focus;
|
||||
focus = function() {
|
||||
if (d.hasFocus() && d.activeElement !== checkbox) {
|
||||
@ -8151,11 +8155,11 @@
|
||||
}
|
||||
if (Conf['captchaLanguage'].trim() || Conf['Captcha Fixes']) {
|
||||
if (location.hostname === 'boards.4chan.org') {
|
||||
return $.onExists(doc, '#captchaFormPart', true, function(node) {
|
||||
return $.onExists(node, 'iframe', true, Captcha.replace.iframe);
|
||||
return $.onExists(doc, '#captchaFormPart', function(node) {
|
||||
return $.onExists(node, 'iframe', Captcha.replace.iframe);
|
||||
});
|
||||
} else {
|
||||
return $.onExists(doc, 'iframe', true, Captcha.replace.iframe);
|
||||
return $.onExists(doc, 'iframe', Captcha.replace.iframe);
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -8219,7 +8223,7 @@
|
||||
src: url
|
||||
});
|
||||
$.add(d.head, script);
|
||||
return $.onExists(d.body, 'iframe', true, Captcha.replace.autocopy);
|
||||
return $.onExists(d.body, 'iframe', Captcha.replace.autocopy);
|
||||
},
|
||||
iframe: function(iframe) {
|
||||
var lang, src;
|
||||
@ -16525,7 +16529,7 @@
|
||||
Report.fit('body');
|
||||
}
|
||||
if (!Conf['Use Recaptcha v2 in Reports'] && Main.jsEnabled && d.cookie.indexOf('pass_enabled=1') < 0) {
|
||||
$.onExists(d.body, '#recaptcha_image', true, function(image) {
|
||||
$.onExists(d.body, '#recaptcha_image', function(image) {
|
||||
$.global(function() {
|
||||
return document.getElementById('recaptcha_image').removeEventListener('click', window.onAltCaptchaClick, false);
|
||||
});
|
||||
@ -16537,7 +16541,7 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
return $.onExists(d.body, '#recaptcha_response_field', true, function(field) {
|
||||
return $.onExists(d.body, '#recaptcha_response_field', function(field) {
|
||||
return $.on(field, 'keydown', function(e) {
|
||||
if (e.keyCode === 8 && !field.value) {
|
||||
return $.global(function() {
|
||||
@ -16752,7 +16756,7 @@
|
||||
settings.disableAll = true;
|
||||
return localStorage.setItem('4chan-settings', JSON.stringify(settings));
|
||||
} else {
|
||||
return $.onExists(doc, 'body', false, function() {
|
||||
return $.onExists(doc, 'body', function() {
|
||||
return $.global(function() {
|
||||
return window.Config.disableAll = true;
|
||||
});
|
||||
@ -16855,8 +16859,8 @@
|
||||
}
|
||||
},
|
||||
ads: function(cb) {
|
||||
return $.onExists(doc, '.ad-cnt', true, function(ad) {
|
||||
return $.onExists(ad, 'img', true, function() {
|
||||
return $.onExists(doc, '.ad-cnt', function(ad) {
|
||||
return $.onExists(ad, 'img', function() {
|
||||
return cb($.el('li', {
|
||||
innerHTML: "To protect yourself from <a href=\"//boards.4chan.org/qa/thread/362590\" target=\"_blank\">malicious ads</a>, you should <a href=\"https://github.com/gorhill/uBlock\" target=\"_blank\">block ads</a> on 4chan."
|
||||
}));
|
||||
@ -17661,7 +17665,7 @@
|
||||
}
|
||||
switch (hostname) {
|
||||
case 'www.4chan.org':
|
||||
$.onExists(doc, 'body', false, function() {
|
||||
$.onExists(doc, 'body', function() {
|
||||
return $.addStyle(Main.cssWWW);
|
||||
});
|
||||
Captcha.replace.init();
|
||||
@ -17724,7 +17728,7 @@
|
||||
}
|
||||
g.threads = new SimpleDict();
|
||||
g.posts = new SimpleDict();
|
||||
$.onExists(doc, 'body', false, Main.initStyle);
|
||||
$.onExists(doc, 'body', Main.initStyle);
|
||||
ref2 = Main.features;
|
||||
for (k = 0, len1 = ref2.length; k < len1; k++) {
|
||||
ref3 = ref2[k], name = ref3[0], feature = ref3[1];
|
||||
@ -17753,6 +17757,11 @@
|
||||
if ($.engine) {
|
||||
$.addClass(doc, $.engine);
|
||||
}
|
||||
$.onExists(doc, '.ad-cnt', function(ad) {
|
||||
return $.onExists(ad, 'img', function() {
|
||||
return $.addClass(doc, 'ads-loaded');
|
||||
});
|
||||
});
|
||||
$.addStyle(Main.css, 'fourchanx-css');
|
||||
keyboard = false;
|
||||
$.on(d, 'mousedown', function() {
|
||||
@ -18694,9 +18703,6 @@
|
||||
" border-radius: 3px;\n" +
|
||||
" padding: 0px 2px;\n" +
|
||||
"}\n" +
|
||||
".ad-plea {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"/* 4chan style fixes */\n" +
|
||||
".opContainer, .op {\n" +
|
||||
" display: block !important;\n" +
|
||||
@ -18713,9 +18719,6 @@
|
||||
"[hidden] {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
"hr + div.center:not(.ad-cnt):not(.topad):not(.middlead):not(.bottomad) {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
".page-num {\n" +
|
||||
" margin-right: -8px;\n" +
|
||||
"}\n" +
|
||||
@ -18744,6 +18747,16 @@
|
||||
"body > div[style*=\" top: -10000px;\"] {\n" +
|
||||
" visibility: hidden !important;\n" +
|
||||
"}\n" +
|
||||
"/* Ads */\n" +
|
||||
":root:not(.ads-loaded) .ad-cnt,\n" +
|
||||
":root:not(.ads-loaded) .ad-plea,\n" +
|
||||
":root:not(.ads-loaded) hr.abovePostForm,\n" +
|
||||
":root:not(.ads-loaded) .ad-plea-bottom + hr {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"hr + div.center:not(.ad-cnt):not(.topad):not(.middlead):not(.bottomad) {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
"/* Anti-autoplay */\n" +
|
||||
"audio.controls-added {\n" +
|
||||
" display: block;\n" +
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.19.5
|
||||
// @version 1.11.20.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.11.19.5
|
||||
// @version 1.11.20.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -254,6 +254,7 @@
|
||||
'Quote Backlinks': [true, 'Add quote backlinks.'],
|
||||
'OP Backlinks': [true, 'Add backlinks to the OP.', 1],
|
||||
'Quote Inlining': [true, 'Inline quoted post on click.'],
|
||||
'Inline Cross-thread Quotes Only': [false, 'Only inline quote links when the posts are on another thread or board, or fetched from the archive.', 1],
|
||||
'Quote Hash Navigation': [false, 'Include an extra link after quotes for autoscrolling to quoted posts.', 1],
|
||||
'Forward Hiding': [true, 'Hide original posts of inlined backlinks.', 1],
|
||||
'Quote Previewing': [true, 'Show quoted post on hover.'],
|
||||
@ -432,7 +433,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.11.19.5',
|
||||
VERSION: '1.11.20.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -661,7 +662,7 @@
|
||||
}
|
||||
};
|
||||
|
||||
$.onExists = function(root, selector, subtree, cb) {
|
||||
$.onExists = function(root, selector, cb) {
|
||||
var el, observer;
|
||||
if (el = $(selector, root)) {
|
||||
return cb(el);
|
||||
@ -670,7 +671,7 @@
|
||||
$.asap((function() {
|
||||
return d.readyState !== 'loading' || $(selector, root);
|
||||
}), function() {
|
||||
return $.onExists(root, selector, subtree, cb);
|
||||
return $.onExists(root, selector, cb);
|
||||
});
|
||||
return;
|
||||
}
|
||||
@ -682,7 +683,7 @@
|
||||
});
|
||||
return observer.observe(root, {
|
||||
childList: true,
|
||||
subtree: subtree
|
||||
subtree: true
|
||||
});
|
||||
};
|
||||
|
||||
@ -697,7 +698,7 @@
|
||||
if (id != null) {
|
||||
style.id = id;
|
||||
}
|
||||
$.onExists(doc, test, true, function() {
|
||||
$.onExists(doc, test, function() {
|
||||
return $.add(d.head, style);
|
||||
});
|
||||
return style;
|
||||
@ -6196,7 +6197,7 @@
|
||||
if (Conf['Quote Previewing']) {
|
||||
$.on(link, 'mouseover', QuotePreview.mouseover);
|
||||
}
|
||||
if (Conf['Quote Inlining']) {
|
||||
if (Conf['Quote Inlining'] && !(Conf['Inline Cross-thread Quotes Only'] && link.getAttribute('href')[0] === '#')) {
|
||||
$.on(link, 'click', QuoteInline.toggle);
|
||||
if (Conf['Quote Hash Navigation']) {
|
||||
hash = QuoteInline.qiQuote(link, $.hasClass(link, 'filtered'));
|
||||
@ -6272,14 +6273,6 @@
|
||||
if (((ref = g.VIEW) !== 'index' && ref !== 'thread') || !Conf['Quote Inlining']) {
|
||||
return;
|
||||
}
|
||||
this.process = Conf['Quote Hash Navigation'] ? function(link, clone) {
|
||||
if (!clone) {
|
||||
$.after(link, QuoteInline.qiQuote(link, $.hasClass(link, 'filtered')));
|
||||
}
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
} : function(link) {
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
};
|
||||
if (Conf['Comment Expansion']) {
|
||||
ExpandComment.callbacks.push(this.node);
|
||||
}
|
||||
@ -6303,6 +6296,17 @@
|
||||
process(link, isClone);
|
||||
}
|
||||
},
|
||||
process: function(link, clone) {
|
||||
if (Conf['Inline Cross-thread Quotes Only'] && link.getAttribute('href')[0] === '#') {
|
||||
return;
|
||||
}
|
||||
if (Conf['Quote Hash Navigation']) {
|
||||
if (!clone) {
|
||||
$.after(link, QuoteInline.qiQuote(link, $.hasClass(link, 'filtered')));
|
||||
}
|
||||
}
|
||||
return $.on(link, 'click', QuoteInline.toggle);
|
||||
},
|
||||
qiQuote: function(link, hidden) {
|
||||
var name;
|
||||
name = "hashlink";
|
||||
@ -7957,7 +7961,7 @@
|
||||
}
|
||||
},
|
||||
initMain: function() {
|
||||
return $.onExists(d.body, '#recaptcha-anchor', true, function(checkbox) {
|
||||
return $.onExists(d.body, '#recaptcha-anchor', function(checkbox) {
|
||||
var focus;
|
||||
focus = function() {
|
||||
if (d.hasFocus() && d.activeElement !== checkbox) {
|
||||
@ -8151,11 +8155,11 @@
|
||||
}
|
||||
if (Conf['captchaLanguage'].trim() || Conf['Captcha Fixes']) {
|
||||
if (location.hostname === 'boards.4chan.org') {
|
||||
return $.onExists(doc, '#captchaFormPart', true, function(node) {
|
||||
return $.onExists(node, 'iframe', true, Captcha.replace.iframe);
|
||||
return $.onExists(doc, '#captchaFormPart', function(node) {
|
||||
return $.onExists(node, 'iframe', Captcha.replace.iframe);
|
||||
});
|
||||
} else {
|
||||
return $.onExists(doc, 'iframe', true, Captcha.replace.iframe);
|
||||
return $.onExists(doc, 'iframe', Captcha.replace.iframe);
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -8219,7 +8223,7 @@
|
||||
src: url
|
||||
});
|
||||
$.add(d.head, script);
|
||||
return $.onExists(d.body, 'iframe', true, Captcha.replace.autocopy);
|
||||
return $.onExists(d.body, 'iframe', Captcha.replace.autocopy);
|
||||
},
|
||||
iframe: function(iframe) {
|
||||
var lang, src;
|
||||
@ -16525,7 +16529,7 @@
|
||||
Report.fit('body');
|
||||
}
|
||||
if (!Conf['Use Recaptcha v2 in Reports'] && Main.jsEnabled && d.cookie.indexOf('pass_enabled=1') < 0) {
|
||||
$.onExists(d.body, '#recaptcha_image', true, function(image) {
|
||||
$.onExists(d.body, '#recaptcha_image', function(image) {
|
||||
$.global(function() {
|
||||
return document.getElementById('recaptcha_image').removeEventListener('click', window.onAltCaptchaClick, false);
|
||||
});
|
||||
@ -16537,7 +16541,7 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
return $.onExists(d.body, '#recaptcha_response_field', true, function(field) {
|
||||
return $.onExists(d.body, '#recaptcha_response_field', function(field) {
|
||||
return $.on(field, 'keydown', function(e) {
|
||||
if (e.keyCode === 8 && !field.value) {
|
||||
return $.global(function() {
|
||||
@ -16752,7 +16756,7 @@
|
||||
settings.disableAll = true;
|
||||
return localStorage.setItem('4chan-settings', JSON.stringify(settings));
|
||||
} else {
|
||||
return $.onExists(doc, 'body', false, function() {
|
||||
return $.onExists(doc, 'body', function() {
|
||||
return $.global(function() {
|
||||
return window.Config.disableAll = true;
|
||||
});
|
||||
@ -16855,8 +16859,8 @@
|
||||
}
|
||||
},
|
||||
ads: function(cb) {
|
||||
return $.onExists(doc, '.ad-cnt', true, function(ad) {
|
||||
return $.onExists(ad, 'img', true, function() {
|
||||
return $.onExists(doc, '.ad-cnt', function(ad) {
|
||||
return $.onExists(ad, 'img', function() {
|
||||
return cb($.el('li', {
|
||||
innerHTML: "To protect yourself from <a href=\"//boards.4chan.org/qa/thread/362590\" target=\"_blank\">malicious ads</a>, you should <a href=\"https://github.com/gorhill/uBlock\" target=\"_blank\">block ads</a> on 4chan."
|
||||
}));
|
||||
@ -17661,7 +17665,7 @@
|
||||
}
|
||||
switch (hostname) {
|
||||
case 'www.4chan.org':
|
||||
$.onExists(doc, 'body', false, function() {
|
||||
$.onExists(doc, 'body', function() {
|
||||
return $.addStyle(Main.cssWWW);
|
||||
});
|
||||
Captcha.replace.init();
|
||||
@ -17724,7 +17728,7 @@
|
||||
}
|
||||
g.threads = new SimpleDict();
|
||||
g.posts = new SimpleDict();
|
||||
$.onExists(doc, 'body', false, Main.initStyle);
|
||||
$.onExists(doc, 'body', Main.initStyle);
|
||||
ref2 = Main.features;
|
||||
for (k = 0, len1 = ref2.length; k < len1; k++) {
|
||||
ref3 = ref2[k], name = ref3[0], feature = ref3[1];
|
||||
@ -17753,6 +17757,11 @@
|
||||
if ($.engine) {
|
||||
$.addClass(doc, $.engine);
|
||||
}
|
||||
$.onExists(doc, '.ad-cnt', function(ad) {
|
||||
return $.onExists(ad, 'img', function() {
|
||||
return $.addClass(doc, 'ads-loaded');
|
||||
});
|
||||
});
|
||||
$.addStyle(Main.css, 'fourchanx-css');
|
||||
keyboard = false;
|
||||
$.on(d, 'mousedown', function() {
|
||||
@ -18694,9 +18703,6 @@
|
||||
" border-radius: 3px;\n" +
|
||||
" padding: 0px 2px;\n" +
|
||||
"}\n" +
|
||||
".ad-plea {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"/* 4chan style fixes */\n" +
|
||||
".opContainer, .op {\n" +
|
||||
" display: block !important;\n" +
|
||||
@ -18713,9 +18719,6 @@
|
||||
"[hidden] {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
"hr + div.center:not(.ad-cnt):not(.topad):not(.middlead):not(.bottomad) {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
".page-num {\n" +
|
||||
" margin-right: -8px;\n" +
|
||||
"}\n" +
|
||||
@ -18744,6 +18747,16 @@
|
||||
"body > div[style*=\" top: -10000px;\"] {\n" +
|
||||
" visibility: hidden !important;\n" +
|
||||
"}\n" +
|
||||
"/* Ads */\n" +
|
||||
":root:not(.ads-loaded) .ad-cnt,\n" +
|
||||
":root:not(.ads-loaded) .ad-plea,\n" +
|
||||
":root:not(.ads-loaded) hr.abovePostForm,\n" +
|
||||
":root:not(.ads-loaded) .ad-plea-bottom + hr {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"hr + div.center:not(.ad-cnt):not(.topad):not(.middlead):not(.bottomad) {\n" +
|
||||
" display: none !important;\n" +
|
||||
"}\n" +
|
||||
"/* Anti-autoplay */\n" +
|
||||
"audio.controls-added {\n" +
|
||||
" display: block;\n" +
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.11.19.5' />
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.11.20.0' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.11.19.5' />
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.11.20.0' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{
|
||||
"version": "1.11.19.5",
|
||||
"date": "2015-12-06T23:42:45.212Z"
|
||||
"version": "1.11.20.0",
|
||||
"date": "2015-12-07T09:32:57.887Z"
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user