Merge branch 'master' into noscript
This commit is contained in:
commit
e206c90751
82
CHANGELOG.md
82
CHANGELOG.md
@ -3,6 +3,59 @@ The attributions below are for work that has been incorporated into the script a
|
|||||||
The links to individual versions below are to copies of the script with the update URL removed. If you want automatic updates, install the script from the links on the [main page](https://github.com/ccd0/4chan-x).
|
The links to individual versions below are to copies of the script with the update URL removed. If you want automatic updates, install the script from the links on the [main page](https://github.com/ccd0/4chan-x).
|
||||||
|
|
||||||
<!-- v1.9.15.x -->
|
<!-- v1.9.15.x -->
|
||||||
|
### v1.9.15.17
|
||||||
|
*2014-12-11* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.17/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.17/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
Merged from v1.9.14.13:
|
||||||
|
|
||||||
|
**talichan**
|
||||||
|
- Update archive list: Remove /jp/ and /sp/ from imcute.yt.
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Increase height of report popup to accomodate new captcha.
|
||||||
|
|
||||||
|
### v1.9.15.16
|
||||||
|
*2014-12-11* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.16/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.16/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Merged from v1.9.14.12: Fix more captcha setup bugs.
|
||||||
|
|
||||||
|
### v1.9.15.15
|
||||||
|
*2014-12-11* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.15/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.15/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Merged from v1.9.14.11: Fix `Close` keybind (default: `Esc`) in persistent QR with captcha.
|
||||||
|
|
||||||
|
### v1.9.15.14
|
||||||
|
*2014-12-10* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.14/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.14/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Remove `Use Recaptcha v1` option. It was just a glitch that has been fixed.
|
||||||
|
- Fix some bugs from the `Post on Captcha Completion` option.
|
||||||
|
|
||||||
|
Merged from v1.9.14.10:
|
||||||
|
**ccd0**
|
||||||
|
- Possible fix for copy+paste version of captcha not working.
|
||||||
|
- Disable 4chan's reported post hiding code. (#219)
|
||||||
|
|
||||||
|
### v1.9.15.13
|
||||||
|
*2014-12-10* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.13/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.13/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
Remove captcha doubling from `Use Recaptcha v1` captcha. Only change now made is from an empty captcha to "al pacino".
|
||||||
|
|
||||||
|
### v1.9.15.12
|
||||||
|
*2014-12-10* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.12/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.12/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- On closer examination, the `Use Recaptcha v1` captcha is accepting more or less arbitrary input. In this version, you can leave the response field blank (for now). Enjoy your free pass while it lasts.
|
||||||
|
|
||||||
|
### v1.9.15.11
|
||||||
|
*2014-12-10* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.11/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.11/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Add `Use Recaptcha v1` option (default: off) to use the method found by Floens to post with the old version of Recaptcha.
|
||||||
|
|
||||||
### v1.9.15.10
|
### v1.9.15.10
|
||||||
*2014-12-09* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.10/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.10/builds/4chan-X-noupdate.crx "Chromium version")]
|
*2014-12-09* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.10/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.15.10/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
@ -85,6 +138,35 @@ Based on v1.9.14.2.
|
|||||||
- Bug fixes.
|
- Bug fixes.
|
||||||
|
|
||||||
<!-- v1.9.14.x -->
|
<!-- v1.9.14.x -->
|
||||||
|
### v1.9.14.13
|
||||||
|
*2014-12-11* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.13/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.13/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**talichan**
|
||||||
|
- Update archive list: Remove /jp/ and /sp/ from imcute.yt.
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Increase height of report popup to accomodate new captcha.
|
||||||
|
|
||||||
|
### v1.9.14.12
|
||||||
|
*2014-12-11* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.12/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.12/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Fix more captcha setup bugs.
|
||||||
|
|
||||||
|
### v1.9.14.11
|
||||||
|
*2014-12-11* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.11/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.11/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Fix `Close` keybind (default: `Esc`) in persistent QR with captcha.
|
||||||
|
|
||||||
|
### v1.9.14.10
|
||||||
|
*2014-12-10* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.10/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.10/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
**ccd0**
|
||||||
|
- Possible fix for copy+paste version of captcha not working.
|
||||||
|
- Disable 4chan's reported post hiding code. (#219)
|
||||||
|
- Turn `Catalog Links` off by default in stable version also.
|
||||||
|
|
||||||
### v1.9.14.9
|
### v1.9.14.9
|
||||||
*2014-12-09* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.9/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.9/builds/4chan-X-noupdate.crx "Chromium version")]
|
*2014-12-09* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.9/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.14.9/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
|
||||||
|
|||||||
2
LICENSE
2
LICENSE
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* 4chan X - Version 1.9.15.10
|
* 4chan X - Version 1.9.15.17
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
||||||
|
|||||||
@ -20,6 +20,8 @@ Alternatively, you can downgrade to [Greasemonkey 1.15](https://addons.mozilla.o
|
|||||||
Download the file from the link above and add drag it to your `chrome://extensions` page.
|
Download the file from the link above and add drag it to your `chrome://extensions` page.
|
||||||
This should also work for non-Windows/dev/canary Chrome and Chromium-based versions of Opera.
|
This should also work for non-Windows/dev/canary Chrome and Chromium-based versions of Opera.
|
||||||
|
|
||||||
|
**The above will not work in Chrome (stable or beta) users on Windows; you must install from the [Chrome store](https://chrome.google.com/webstore/detail/4chan-x/ohnjgmpcibpbafdlkimncjhflgedgpam).**
|
||||||
|
|
||||||
## Chromium version (Chrome store): [Click to Install](https://chrome.google.com/webstore/detail/4chan-x/ohnjgmpcibpbafdlkimncjhflgedgpam)
|
## Chromium version (Chrome store): [Click to Install](https://chrome.google.com/webstore/detail/4chan-x/ohnjgmpcibpbafdlkimncjhflgedgpam)
|
||||||
The stable and beta releases of Chrome on Windows will disable extensions not installed from the Chrome store, so users will need to install 4chan X from the link above.
|
The stable and beta releases of Chrome on Windows will disable extensions not installed from the Chrome store, so users will need to install 4chan X from the link above.
|
||||||
Only the latest stable version of 4chan X is available.
|
Only the latest stable version of 4chan X is available.
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X beta
|
// @name 4chan X beta
|
||||||
// @version 1.9.15.10
|
// @version 1.9.15.17
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X beta
|
// @name 4chan X beta
|
||||||
// @version 1.9.15.10
|
// @version 1.9.15.17
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -24,7 +24,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 4chan X - Version 1.9.15.10
|
* 4chan X - Version 1.9.15.17
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
||||||
@ -391,7 +391,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.9.15.10',
|
VERSION: '1.9.15.17',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
NAME: '4chan X',
|
NAME: '4chan X',
|
||||||
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
|
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
|
||||||
@ -6610,6 +6610,9 @@
|
|||||||
return QR.captcha.destroy();
|
return QR.captcha.destroy();
|
||||||
},
|
},
|
||||||
focusin: function() {
|
focusin: function() {
|
||||||
|
if ($.hasClass(QR.nodes.el, 'autohide') && !$.hasClass(QR.nodes.el, 'focus')) {
|
||||||
|
QR.captcha.setup();
|
||||||
|
}
|
||||||
return $.addClass(QR.nodes.el, 'focus');
|
return $.addClass(QR.nodes.el, 'focus');
|
||||||
},
|
},
|
||||||
focusout: function() {
|
focusout: function() {
|
||||||
@ -7461,7 +7464,10 @@
|
|||||||
},
|
},
|
||||||
onPostChange: function() {
|
onPostChange: function() {
|
||||||
if (this.postsCount === 0) {
|
if (this.postsCount === 0) {
|
||||||
return this.setup();
|
this.setup();
|
||||||
|
}
|
||||||
|
if (QR.posts.length === 1 && !Conf['Auto-load captcha'] && !QR.posts[0].com && !QR.posts[0].file) {
|
||||||
|
return this.postsCount = 0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toggle: function() {
|
toggle: function() {
|
||||||
@ -7498,17 +7504,17 @@
|
|||||||
return $.globalEval('(function() {\n function render() {\n var container = document.querySelector("#qr .captcha-container");\n container.dataset.widgetID = window.grecaptcha.render(container, {\n sitekey: \'6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc\',\n theme: document.documentElement.classList.contains(\'tomorrow\') ? \'dark\' : \'light\',\n callback: function(response) {\n window.dispatchEvent(new CustomEvent("captcha:success", {detail: response}));\n }\n });\n }\n if (window.grecaptcha) {\n render();\n } else {\n var cbNative = window.onRecaptchaLoaded;\n window.onRecaptchaLoaded = function() {\n render();\n cbNative();\n }\n }\n})();');
|
return $.globalEval('(function() {\n function render() {\n var container = document.querySelector("#qr .captcha-container");\n container.dataset.widgetID = window.grecaptcha.render(container, {\n sitekey: \'6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc\',\n theme: document.documentElement.classList.contains(\'tomorrow\') ? \'dark\' : \'light\',\n callback: function(response) {\n window.dispatchEvent(new CustomEvent("captcha:success", {detail: response}));\n }\n });\n }\n if (window.grecaptcha) {\n render();\n } else {\n var cbNative = window.onRecaptchaLoaded;\n window.onRecaptchaLoaded = function() {\n render();\n cbNative();\n }\n }\n})();');
|
||||||
},
|
},
|
||||||
afterSetup: function(mutations) {
|
afterSetup: function(mutations) {
|
||||||
var mutation, node, _i, _j, _len, _len1, _ref;
|
var iframe, mutation, node, textarea, _i, _j, _len, _len1, _ref;
|
||||||
for (_i = 0, _len = mutations.length; _i < _len; _i++) {
|
for (_i = 0, _len = mutations.length; _i < _len; _i++) {
|
||||||
mutation = mutations[_i];
|
mutation = mutations[_i];
|
||||||
_ref = mutation.addedNodes;
|
_ref = mutation.addedNodes;
|
||||||
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
||||||
node = _ref[_j];
|
node = _ref[_j];
|
||||||
if (node.nodeName === 'IFRAME') {
|
if (iframe = $.x('./descendant-or-self::iframe', node)) {
|
||||||
this.setupIFrame(node);
|
this.setupIFrame(iframe);
|
||||||
}
|
}
|
||||||
if (node.nodeName === 'TEXTAREA') {
|
if (textarea = $.x('./descendant-or-self::textarea', node)) {
|
||||||
this.setupTextArea(node);
|
this.setupTextArea(textarea);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7563,8 +7569,8 @@
|
|||||||
},
|
},
|
||||||
save: function(pasted) {
|
save: function(pasted) {
|
||||||
var reload, _base;
|
var reload, _base;
|
||||||
reload = QR.cooldown.auto && this.needed();
|
|
||||||
$.forceSync('captchas');
|
$.forceSync('captchas');
|
||||||
|
reload = (QR.cooldown.auto || Conf['Post on Captcha Completion']) && this.needed();
|
||||||
this.captchas.push({
|
this.captchas.push({
|
||||||
response: $('textarea', this.nodes.container).value,
|
response: $('textarea', this.nodes.container).value,
|
||||||
timeout: (pasted ? this.setupTime : Date.now()) + 2 * $.MINUTE
|
timeout: (pasted ? this.setupTime : Date.now()) + 2 * $.MINUTE
|
||||||
@ -7573,17 +7579,18 @@
|
|||||||
$.set('captchas', this.captchas);
|
$.set('captchas', this.captchas);
|
||||||
if (reload) {
|
if (reload) {
|
||||||
this.shouldFocus = true;
|
this.shouldFocus = true;
|
||||||
return this.reload();
|
this.reload();
|
||||||
}
|
|
||||||
if (pasted) {
|
|
||||||
this.destroy();
|
|
||||||
} else {
|
} else {
|
||||||
if ((_base = this.timeouts).destroy == null) {
|
if (pasted) {
|
||||||
_base.destroy = setTimeout(this.destroy.bind(this), 3 * $.SECOND);
|
this.destroy();
|
||||||
|
} else {
|
||||||
|
if ((_base = this.timeouts).destroy == null) {
|
||||||
|
_base.destroy = setTimeout(this.destroy.bind(this), 3 * $.SECOND);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
QR.nodes.status.focus();
|
||||||
}
|
}
|
||||||
QR.nodes.status.focus();
|
if (Conf['Post on Captcha Completion'] && !QR.cooldown.auto) {
|
||||||
if (Conf['Post on Captcha Completion']) {
|
|
||||||
return QR.submit();
|
return QR.submit();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -7592,6 +7599,7 @@
|
|||||||
if (!this.captchas.length) {
|
if (!this.captchas.length) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
$.forceSync('captchas');
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
_ref = this.captchas;
|
_ref = this.captchas;
|
||||||
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
|
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
|
||||||
@ -10671,7 +10679,7 @@
|
|||||||
post = ReportLink.post;
|
post = ReportLink.post;
|
||||||
url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post;
|
url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post;
|
||||||
id = Date.now();
|
id = Date.now();
|
||||||
set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=200";
|
set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=285";
|
||||||
return window.open(url, id, set);
|
return window.open(url, id, set);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -12303,7 +12311,7 @@
|
|||||||
}
|
}
|
||||||
return Redirect.data = o;
|
return Redirect.data = o;
|
||||||
},
|
},
|
||||||
archives: [{"uid":0,"name":"Moe","domain":"archive.moe","http":false,"https":true,"software":"foolfuuka","boards":["a","biz","c","co","diy","gd","h","i","int","jp","k","m","mlp","out","po","r9k","s4s","sci","sp","tg","tv","u","v","vg","vp","vr","wsg"],"files":["a","biz","c","co","diy","gd","h","i","jp","m","mlp","po","s4s","sci","tg","u","v","vg","vp","vr","wsg"]},{"uid":3,"name":"4plebs Archive","domain":"archive.4plebs.org","http":true,"https":true,"software":"foolfuuka","boards":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"],"files":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"]},{"uid":5,"name":"Love is Over","domain":"archive.loveisover.me","http":true,"https":true,"software":"foolfuuka","boards":["c","d","e","i","lgbt","t","u","w","wg"],"files":["c","d","e","i","lgbt","t","u","w","wg"]},{"uid":8,"name":"Rebecca Black Tech","domain":"rbt.asia","http":false,"https":true,"software":"fuuka","boards":["cgl","g","mu","w"],"files":["cgl","g","mu","w"]},{"uid":10,"name":"warosu","domain":"warosu.org","http":false,"https":true,"software":"fuuka","boards":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"],"files":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"]},{"uid":15,"name":"fgts","domain":"fgts.jp","http":true,"https":true,"software":"foolfuuka","boards":["asp","cm","h","hc","hm","n","p","r","s","soc","y"],"files":["asp","cm","h","hc","hm","n","p","r","s","soc","y"]},{"uid":21,"name":"imcute","domain":"imcute.yt","http":true,"https":false,"software":"foolfuuka","boards":["an","fit","gif","int","jp","mlp","out","r9k","sp","toy"],"files":["an","gif","fit","int","jp","mlp","out","r9k","sp","toy"],"imagehosts":["http://imcute.yt/"]}],
|
archives: [{"uid":0,"name":"Moe","domain":"archive.moe","http":false,"https":true,"software":"foolfuuka","boards":["a","biz","c","co","diy","gd","h","i","int","jp","k","m","mlp","out","po","r9k","s4s","sci","sp","tg","tv","u","v","vg","vp","vr","wsg"],"files":["a","biz","c","co","diy","gd","h","i","jp","m","mlp","po","s4s","sci","tg","u","v","vg","vp","vr","wsg"]},{"uid":3,"name":"4plebs Archive","domain":"archive.4plebs.org","http":true,"https":true,"software":"foolfuuka","boards":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"],"files":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"]},{"uid":5,"name":"Love is Over","domain":"archive.loveisover.me","http":true,"https":true,"software":"foolfuuka","boards":["c","d","e","i","lgbt","t","u","w","wg"],"files":["c","d","e","i","lgbt","t","u","w","wg"]},{"uid":8,"name":"Rebecca Black Tech","domain":"rbt.asia","http":false,"https":true,"software":"fuuka","boards":["cgl","g","mu","w"],"files":["cgl","g","mu","w"]},{"uid":10,"name":"warosu","domain":"warosu.org","http":false,"https":true,"software":"fuuka","boards":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"],"files":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"]},{"uid":15,"name":"fgts","domain":"fgts.jp","http":true,"https":true,"software":"foolfuuka","boards":["asp","cm","h","hc","hm","n","p","r","s","soc","y"],"files":["asp","cm","h","hc","hm","n","p","r","s","soc","y"]},{"uid":21,"name":"imcute","domain":"imcute.yt","http":true,"https":false,"software":"foolfuuka","boards":["an","fit","gif","int","mlp","out","r9k","toy"],"files":["an","fit","gif","int","mlp","out","r9k","toy"],"imagehosts":["http://imcute.yt/"]}],
|
||||||
to: function(dest, data) {
|
to: function(dest, data) {
|
||||||
var archive;
|
var archive;
|
||||||
archive = (dest === 'search' || dest === 'board' ? Redirect.data.thread : Redirect.data[dest])[data.boardID];
|
archive = (dest === 'search' || dest === 'board' ? Redirect.data.thread : Redirect.data[dest])[data.boardID];
|
||||||
@ -13117,7 +13125,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
return $.ready(function() {
|
return $.ready(function() {
|
||||||
return $.globalEval('(function() {\n clickable_ids = false;\n var nodes = document.querySelectorAll(\'.posteruid, .capcode\');\n for (var i = 0; i < nodes.length; i++) {\n nodes[i].removeEventListener("click", idClick, false);\n }\n})();');
|
return $.globalEval('(function() {\n clickable_ids = false;\n var nodes = document.querySelectorAll(\'.posteruid, .capcode\');\n for (var i = 0; i < nodes.length; i++) {\n nodes[i].removeEventListener("click", idClick, false);\n }\n window.removeEventListener("message", Report.onMessage, false);\n})();');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
code: function() {
|
code: function() {
|
||||||
@ -13311,6 +13319,7 @@
|
|||||||
}
|
}
|
||||||
} else if (QR.nodes && !QR.nodes.el.hidden) {
|
} else if (QR.nodes && !QR.nodes.el.hidden) {
|
||||||
if (Conf['Persistent QR']) {
|
if (Conf['Persistent QR']) {
|
||||||
|
QR.captcha.destroy();
|
||||||
QR.hide();
|
QR.hide();
|
||||||
} else {
|
} else {
|
||||||
QR.close();
|
QR.close();
|
||||||
@ -13467,7 +13476,7 @@
|
|||||||
window.location = CatalogLinks.catalog();
|
window.location = CatalogLinks.catalog();
|
||||||
break;
|
break;
|
||||||
case Conf['Cycle sort type']:
|
case Conf['Cycle sort type']:
|
||||||
if (!Conf['JSON Navigation']) {
|
if (!(Conf['JSON Navigation'] && g.VIEW === 'index' && g.BOARD !== 'f')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Index.cycleSortType();
|
Index.cycleSortType();
|
||||||
@ -14060,7 +14069,7 @@
|
|||||||
className: 'dialog'
|
className: 'dialog'
|
||||||
});
|
});
|
||||||
$.extend(dialog, {
|
$.extend(dialog, {
|
||||||
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a> | <a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.15.10</a> | <a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a> | <a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
|
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a> | <a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.15.17</a> | <a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a> | <a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
|
||||||
});
|
});
|
||||||
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
||||||
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
||||||
|
|||||||
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.9.15.10
|
// @version 1.9.15.17
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -23,7 +23,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 4chan X - Version 1.9.15.10
|
* 4chan X - Version 1.9.15.17
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
||||||
@ -390,7 +390,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.9.15.10',
|
VERSION: '1.9.15.17',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
NAME: '4chan X',
|
NAME: '4chan X',
|
||||||
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
|
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
|
||||||
@ -6609,6 +6609,9 @@
|
|||||||
return QR.captcha.destroy();
|
return QR.captcha.destroy();
|
||||||
},
|
},
|
||||||
focusin: function() {
|
focusin: function() {
|
||||||
|
if ($.hasClass(QR.nodes.el, 'autohide') && !$.hasClass(QR.nodes.el, 'focus')) {
|
||||||
|
QR.captcha.setup();
|
||||||
|
}
|
||||||
return $.addClass(QR.nodes.el, 'focus');
|
return $.addClass(QR.nodes.el, 'focus');
|
||||||
},
|
},
|
||||||
focusout: function() {
|
focusout: function() {
|
||||||
@ -7460,7 +7463,10 @@
|
|||||||
},
|
},
|
||||||
onPostChange: function() {
|
onPostChange: function() {
|
||||||
if (this.postsCount === 0) {
|
if (this.postsCount === 0) {
|
||||||
return this.setup();
|
this.setup();
|
||||||
|
}
|
||||||
|
if (QR.posts.length === 1 && !Conf['Auto-load captcha'] && !QR.posts[0].com && !QR.posts[0].file) {
|
||||||
|
return this.postsCount = 0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toggle: function() {
|
toggle: function() {
|
||||||
@ -7497,17 +7503,17 @@
|
|||||||
return $.globalEval('(function() {\n function render() {\n var container = document.querySelector("#qr .captcha-container");\n container.dataset.widgetID = window.grecaptcha.render(container, {\n sitekey: \'6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc\',\n theme: document.documentElement.classList.contains(\'tomorrow\') ? \'dark\' : \'light\',\n callback: function(response) {\n window.dispatchEvent(new CustomEvent("captcha:success", {detail: response}));\n }\n });\n }\n if (window.grecaptcha) {\n render();\n } else {\n var cbNative = window.onRecaptchaLoaded;\n window.onRecaptchaLoaded = function() {\n render();\n cbNative();\n }\n }\n})();');
|
return $.globalEval('(function() {\n function render() {\n var container = document.querySelector("#qr .captcha-container");\n container.dataset.widgetID = window.grecaptcha.render(container, {\n sitekey: \'6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc\',\n theme: document.documentElement.classList.contains(\'tomorrow\') ? \'dark\' : \'light\',\n callback: function(response) {\n window.dispatchEvent(new CustomEvent("captcha:success", {detail: response}));\n }\n });\n }\n if (window.grecaptcha) {\n render();\n } else {\n var cbNative = window.onRecaptchaLoaded;\n window.onRecaptchaLoaded = function() {\n render();\n cbNative();\n }\n }\n})();');
|
||||||
},
|
},
|
||||||
afterSetup: function(mutations) {
|
afterSetup: function(mutations) {
|
||||||
var mutation, node, _i, _j, _len, _len1, _ref;
|
var iframe, mutation, node, textarea, _i, _j, _len, _len1, _ref;
|
||||||
for (_i = 0, _len = mutations.length; _i < _len; _i++) {
|
for (_i = 0, _len = mutations.length; _i < _len; _i++) {
|
||||||
mutation = mutations[_i];
|
mutation = mutations[_i];
|
||||||
_ref = mutation.addedNodes;
|
_ref = mutation.addedNodes;
|
||||||
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
||||||
node = _ref[_j];
|
node = _ref[_j];
|
||||||
if (node.nodeName === 'IFRAME') {
|
if (iframe = $.x('./descendant-or-self::iframe', node)) {
|
||||||
this.setupIFrame(node);
|
this.setupIFrame(iframe);
|
||||||
}
|
}
|
||||||
if (node.nodeName === 'TEXTAREA') {
|
if (textarea = $.x('./descendant-or-self::textarea', node)) {
|
||||||
this.setupTextArea(node);
|
this.setupTextArea(textarea);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7562,8 +7568,8 @@
|
|||||||
},
|
},
|
||||||
save: function(pasted) {
|
save: function(pasted) {
|
||||||
var reload, _base;
|
var reload, _base;
|
||||||
reload = QR.cooldown.auto && this.needed();
|
|
||||||
$.forceSync('captchas');
|
$.forceSync('captchas');
|
||||||
|
reload = (QR.cooldown.auto || Conf['Post on Captcha Completion']) && this.needed();
|
||||||
this.captchas.push({
|
this.captchas.push({
|
||||||
response: $('textarea', this.nodes.container).value,
|
response: $('textarea', this.nodes.container).value,
|
||||||
timeout: (pasted ? this.setupTime : Date.now()) + 2 * $.MINUTE
|
timeout: (pasted ? this.setupTime : Date.now()) + 2 * $.MINUTE
|
||||||
@ -7572,17 +7578,18 @@
|
|||||||
$.set('captchas', this.captchas);
|
$.set('captchas', this.captchas);
|
||||||
if (reload) {
|
if (reload) {
|
||||||
this.shouldFocus = true;
|
this.shouldFocus = true;
|
||||||
return this.reload();
|
this.reload();
|
||||||
}
|
|
||||||
if (pasted) {
|
|
||||||
this.destroy();
|
|
||||||
} else {
|
} else {
|
||||||
if ((_base = this.timeouts).destroy == null) {
|
if (pasted) {
|
||||||
_base.destroy = setTimeout(this.destroy.bind(this), 3 * $.SECOND);
|
this.destroy();
|
||||||
|
} else {
|
||||||
|
if ((_base = this.timeouts).destroy == null) {
|
||||||
|
_base.destroy = setTimeout(this.destroy.bind(this), 3 * $.SECOND);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
QR.nodes.status.focus();
|
||||||
}
|
}
|
||||||
QR.nodes.status.focus();
|
if (Conf['Post on Captcha Completion'] && !QR.cooldown.auto) {
|
||||||
if (Conf['Post on Captcha Completion']) {
|
|
||||||
return QR.submit();
|
return QR.submit();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -7591,6 +7598,7 @@
|
|||||||
if (!this.captchas.length) {
|
if (!this.captchas.length) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
$.forceSync('captchas');
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
_ref = this.captchas;
|
_ref = this.captchas;
|
||||||
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
|
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
|
||||||
@ -10670,7 +10678,7 @@
|
|||||||
post = ReportLink.post;
|
post = ReportLink.post;
|
||||||
url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post;
|
url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post;
|
||||||
id = Date.now();
|
id = Date.now();
|
||||||
set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=200";
|
set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=285";
|
||||||
return window.open(url, id, set);
|
return window.open(url, id, set);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -12302,7 +12310,7 @@
|
|||||||
}
|
}
|
||||||
return Redirect.data = o;
|
return Redirect.data = o;
|
||||||
},
|
},
|
||||||
archives: [{"uid":0,"name":"Moe","domain":"archive.moe","http":false,"https":true,"software":"foolfuuka","boards":["a","biz","c","co","diy","gd","h","i","int","jp","k","m","mlp","out","po","r9k","s4s","sci","sp","tg","tv","u","v","vg","vp","vr","wsg"],"files":["a","biz","c","co","diy","gd","h","i","jp","m","mlp","po","s4s","sci","tg","u","v","vg","vp","vr","wsg"]},{"uid":3,"name":"4plebs Archive","domain":"archive.4plebs.org","http":true,"https":true,"software":"foolfuuka","boards":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"],"files":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"]},{"uid":5,"name":"Love is Over","domain":"archive.loveisover.me","http":true,"https":true,"software":"foolfuuka","boards":["c","d","e","i","lgbt","t","u","w","wg"],"files":["c","d","e","i","lgbt","t","u","w","wg"]},{"uid":8,"name":"Rebecca Black Tech","domain":"rbt.asia","http":false,"https":true,"software":"fuuka","boards":["cgl","g","mu","w"],"files":["cgl","g","mu","w"]},{"uid":10,"name":"warosu","domain":"warosu.org","http":false,"https":true,"software":"fuuka","boards":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"],"files":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"]},{"uid":15,"name":"fgts","domain":"fgts.jp","http":true,"https":true,"software":"foolfuuka","boards":["asp","cm","h","hc","hm","n","p","r","s","soc","y"],"files":["asp","cm","h","hc","hm","n","p","r","s","soc","y"]},{"uid":21,"name":"imcute","domain":"imcute.yt","http":true,"https":false,"software":"foolfuuka","boards":["an","fit","gif","int","jp","mlp","out","r9k","sp","toy"],"files":["an","gif","fit","int","jp","mlp","out","r9k","sp","toy"],"imagehosts":["http://imcute.yt/"]}],
|
archives: [{"uid":0,"name":"Moe","domain":"archive.moe","http":false,"https":true,"software":"foolfuuka","boards":["a","biz","c","co","diy","gd","h","i","int","jp","k","m","mlp","out","po","r9k","s4s","sci","sp","tg","tv","u","v","vg","vp","vr","wsg"],"files":["a","biz","c","co","diy","gd","h","i","jp","m","mlp","po","s4s","sci","tg","u","v","vg","vp","vr","wsg"]},{"uid":3,"name":"4plebs Archive","domain":"archive.4plebs.org","http":true,"https":true,"software":"foolfuuka","boards":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"],"files":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"]},{"uid":5,"name":"Love is Over","domain":"archive.loveisover.me","http":true,"https":true,"software":"foolfuuka","boards":["c","d","e","i","lgbt","t","u","w","wg"],"files":["c","d","e","i","lgbt","t","u","w","wg"]},{"uid":8,"name":"Rebecca Black Tech","domain":"rbt.asia","http":false,"https":true,"software":"fuuka","boards":["cgl","g","mu","w"],"files":["cgl","g","mu","w"]},{"uid":10,"name":"warosu","domain":"warosu.org","http":false,"https":true,"software":"fuuka","boards":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"],"files":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"]},{"uid":15,"name":"fgts","domain":"fgts.jp","http":true,"https":true,"software":"foolfuuka","boards":["asp","cm","h","hc","hm","n","p","r","s","soc","y"],"files":["asp","cm","h","hc","hm","n","p","r","s","soc","y"]},{"uid":21,"name":"imcute","domain":"imcute.yt","http":true,"https":false,"software":"foolfuuka","boards":["an","fit","gif","int","mlp","out","r9k","toy"],"files":["an","fit","gif","int","mlp","out","r9k","toy"],"imagehosts":["http://imcute.yt/"]}],
|
||||||
to: function(dest, data) {
|
to: function(dest, data) {
|
||||||
var archive;
|
var archive;
|
||||||
archive = (dest === 'search' || dest === 'board' ? Redirect.data.thread : Redirect.data[dest])[data.boardID];
|
archive = (dest === 'search' || dest === 'board' ? Redirect.data.thread : Redirect.data[dest])[data.boardID];
|
||||||
@ -13116,7 +13124,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
return $.ready(function() {
|
return $.ready(function() {
|
||||||
return $.globalEval('(function() {\n clickable_ids = false;\n var nodes = document.querySelectorAll(\'.posteruid, .capcode\');\n for (var i = 0; i < nodes.length; i++) {\n nodes[i].removeEventListener("click", idClick, false);\n }\n})();');
|
return $.globalEval('(function() {\n clickable_ids = false;\n var nodes = document.querySelectorAll(\'.posteruid, .capcode\');\n for (var i = 0; i < nodes.length; i++) {\n nodes[i].removeEventListener("click", idClick, false);\n }\n window.removeEventListener("message", Report.onMessage, false);\n})();');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
code: function() {
|
code: function() {
|
||||||
@ -13310,6 +13318,7 @@
|
|||||||
}
|
}
|
||||||
} else if (QR.nodes && !QR.nodes.el.hidden) {
|
} else if (QR.nodes && !QR.nodes.el.hidden) {
|
||||||
if (Conf['Persistent QR']) {
|
if (Conf['Persistent QR']) {
|
||||||
|
QR.captcha.destroy();
|
||||||
QR.hide();
|
QR.hide();
|
||||||
} else {
|
} else {
|
||||||
QR.close();
|
QR.close();
|
||||||
@ -13466,7 +13475,7 @@
|
|||||||
window.location = CatalogLinks.catalog();
|
window.location = CatalogLinks.catalog();
|
||||||
break;
|
break;
|
||||||
case Conf['Cycle sort type']:
|
case Conf['Cycle sort type']:
|
||||||
if (!Conf['JSON Navigation']) {
|
if (!(Conf['JSON Navigation'] && g.VIEW === 'index' && g.BOARD !== 'f')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Index.cycleSortType();
|
Index.cycleSortType();
|
||||||
@ -14059,7 +14068,7 @@
|
|||||||
className: 'dialog'
|
className: 'dialog'
|
||||||
});
|
});
|
||||||
$.extend(dialog, {
|
$.extend(dialog, {
|
||||||
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a> | <a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.15.10</a> | <a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a> | <a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
|
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a> | <a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.15.17</a> | <a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a> | <a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
|
||||||
});
|
});
|
||||||
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
||||||
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.9.15.10
|
// @version 1.9.15.17
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.9.15.10
|
// @version 1.9.15.17
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -24,7 +24,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 4chan X - Version 1.9.15.10
|
* 4chan X - Version 1.9.15.17
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
||||||
@ -391,7 +391,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.9.15.10',
|
VERSION: '1.9.15.17',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
NAME: '4chan X',
|
NAME: '4chan X',
|
||||||
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
|
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
|
||||||
@ -6610,6 +6610,9 @@
|
|||||||
return QR.captcha.destroy();
|
return QR.captcha.destroy();
|
||||||
},
|
},
|
||||||
focusin: function() {
|
focusin: function() {
|
||||||
|
if ($.hasClass(QR.nodes.el, 'autohide') && !$.hasClass(QR.nodes.el, 'focus')) {
|
||||||
|
QR.captcha.setup();
|
||||||
|
}
|
||||||
return $.addClass(QR.nodes.el, 'focus');
|
return $.addClass(QR.nodes.el, 'focus');
|
||||||
},
|
},
|
||||||
focusout: function() {
|
focusout: function() {
|
||||||
@ -7461,7 +7464,10 @@
|
|||||||
},
|
},
|
||||||
onPostChange: function() {
|
onPostChange: function() {
|
||||||
if (this.postsCount === 0) {
|
if (this.postsCount === 0) {
|
||||||
return this.setup();
|
this.setup();
|
||||||
|
}
|
||||||
|
if (QR.posts.length === 1 && !Conf['Auto-load captcha'] && !QR.posts[0].com && !QR.posts[0].file) {
|
||||||
|
return this.postsCount = 0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toggle: function() {
|
toggle: function() {
|
||||||
@ -7498,17 +7504,17 @@
|
|||||||
return $.globalEval('(function() {\n function render() {\n var container = document.querySelector("#qr .captcha-container");\n container.dataset.widgetID = window.grecaptcha.render(container, {\n sitekey: \'6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc\',\n theme: document.documentElement.classList.contains(\'tomorrow\') ? \'dark\' : \'light\',\n callback: function(response) {\n window.dispatchEvent(new CustomEvent("captcha:success", {detail: response}));\n }\n });\n }\n if (window.grecaptcha) {\n render();\n } else {\n var cbNative = window.onRecaptchaLoaded;\n window.onRecaptchaLoaded = function() {\n render();\n cbNative();\n }\n }\n})();');
|
return $.globalEval('(function() {\n function render() {\n var container = document.querySelector("#qr .captcha-container");\n container.dataset.widgetID = window.grecaptcha.render(container, {\n sitekey: \'6Ldp2bsSAAAAAAJ5uyx_lx34lJeEpTLVkP5k04qc\',\n theme: document.documentElement.classList.contains(\'tomorrow\') ? \'dark\' : \'light\',\n callback: function(response) {\n window.dispatchEvent(new CustomEvent("captcha:success", {detail: response}));\n }\n });\n }\n if (window.grecaptcha) {\n render();\n } else {\n var cbNative = window.onRecaptchaLoaded;\n window.onRecaptchaLoaded = function() {\n render();\n cbNative();\n }\n }\n})();');
|
||||||
},
|
},
|
||||||
afterSetup: function(mutations) {
|
afterSetup: function(mutations) {
|
||||||
var mutation, node, _i, _j, _len, _len1, _ref;
|
var iframe, mutation, node, textarea, _i, _j, _len, _len1, _ref;
|
||||||
for (_i = 0, _len = mutations.length; _i < _len; _i++) {
|
for (_i = 0, _len = mutations.length; _i < _len; _i++) {
|
||||||
mutation = mutations[_i];
|
mutation = mutations[_i];
|
||||||
_ref = mutation.addedNodes;
|
_ref = mutation.addedNodes;
|
||||||
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
||||||
node = _ref[_j];
|
node = _ref[_j];
|
||||||
if (node.nodeName === 'IFRAME') {
|
if (iframe = $.x('./descendant-or-self::iframe', node)) {
|
||||||
this.setupIFrame(node);
|
this.setupIFrame(iframe);
|
||||||
}
|
}
|
||||||
if (node.nodeName === 'TEXTAREA') {
|
if (textarea = $.x('./descendant-or-self::textarea', node)) {
|
||||||
this.setupTextArea(node);
|
this.setupTextArea(textarea);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7563,8 +7569,8 @@
|
|||||||
},
|
},
|
||||||
save: function(pasted) {
|
save: function(pasted) {
|
||||||
var reload, _base;
|
var reload, _base;
|
||||||
reload = QR.cooldown.auto && this.needed();
|
|
||||||
$.forceSync('captchas');
|
$.forceSync('captchas');
|
||||||
|
reload = (QR.cooldown.auto || Conf['Post on Captcha Completion']) && this.needed();
|
||||||
this.captchas.push({
|
this.captchas.push({
|
||||||
response: $('textarea', this.nodes.container).value,
|
response: $('textarea', this.nodes.container).value,
|
||||||
timeout: (pasted ? this.setupTime : Date.now()) + 2 * $.MINUTE
|
timeout: (pasted ? this.setupTime : Date.now()) + 2 * $.MINUTE
|
||||||
@ -7573,17 +7579,18 @@
|
|||||||
$.set('captchas', this.captchas);
|
$.set('captchas', this.captchas);
|
||||||
if (reload) {
|
if (reload) {
|
||||||
this.shouldFocus = true;
|
this.shouldFocus = true;
|
||||||
return this.reload();
|
this.reload();
|
||||||
}
|
|
||||||
if (pasted) {
|
|
||||||
this.destroy();
|
|
||||||
} else {
|
} else {
|
||||||
if ((_base = this.timeouts).destroy == null) {
|
if (pasted) {
|
||||||
_base.destroy = setTimeout(this.destroy.bind(this), 3 * $.SECOND);
|
this.destroy();
|
||||||
|
} else {
|
||||||
|
if ((_base = this.timeouts).destroy == null) {
|
||||||
|
_base.destroy = setTimeout(this.destroy.bind(this), 3 * $.SECOND);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
QR.nodes.status.focus();
|
||||||
}
|
}
|
||||||
QR.nodes.status.focus();
|
if (Conf['Post on Captcha Completion'] && !QR.cooldown.auto) {
|
||||||
if (Conf['Post on Captcha Completion']) {
|
|
||||||
return QR.submit();
|
return QR.submit();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -7592,6 +7599,7 @@
|
|||||||
if (!this.captchas.length) {
|
if (!this.captchas.length) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
$.forceSync('captchas');
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
_ref = this.captchas;
|
_ref = this.captchas;
|
||||||
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
|
for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
|
||||||
@ -10671,7 +10679,7 @@
|
|||||||
post = ReportLink.post;
|
post = ReportLink.post;
|
||||||
url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post;
|
url = "//sys.4chan.org/" + post.board + "/imgboard.php?mode=report&no=" + post;
|
||||||
id = Date.now();
|
id = Date.now();
|
||||||
set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=200";
|
set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=285";
|
||||||
return window.open(url, id, set);
|
return window.open(url, id, set);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -12303,7 +12311,7 @@
|
|||||||
}
|
}
|
||||||
return Redirect.data = o;
|
return Redirect.data = o;
|
||||||
},
|
},
|
||||||
archives: [{"uid":0,"name":"Moe","domain":"archive.moe","http":false,"https":true,"software":"foolfuuka","boards":["a","biz","c","co","diy","gd","h","i","int","jp","k","m","mlp","out","po","r9k","s4s","sci","sp","tg","tv","u","v","vg","vp","vr","wsg"],"files":["a","biz","c","co","diy","gd","h","i","jp","m","mlp","po","s4s","sci","tg","u","v","vg","vp","vr","wsg"]},{"uid":3,"name":"4plebs Archive","domain":"archive.4plebs.org","http":true,"https":true,"software":"foolfuuka","boards":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"],"files":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"]},{"uid":5,"name":"Love is Over","domain":"archive.loveisover.me","http":true,"https":true,"software":"foolfuuka","boards":["c","d","e","i","lgbt","t","u","w","wg"],"files":["c","d","e","i","lgbt","t","u","w","wg"]},{"uid":8,"name":"Rebecca Black Tech","domain":"rbt.asia","http":false,"https":true,"software":"fuuka","boards":["cgl","g","mu","w"],"files":["cgl","g","mu","w"]},{"uid":10,"name":"warosu","domain":"warosu.org","http":false,"https":true,"software":"fuuka","boards":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"],"files":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"]},{"uid":15,"name":"fgts","domain":"fgts.jp","http":true,"https":true,"software":"foolfuuka","boards":["asp","cm","h","hc","hm","n","p","r","s","soc","y"],"files":["asp","cm","h","hc","hm","n","p","r","s","soc","y"]},{"uid":21,"name":"imcute","domain":"imcute.yt","http":true,"https":false,"software":"foolfuuka","boards":["an","fit","gif","int","jp","mlp","out","r9k","sp","toy"],"files":["an","gif","fit","int","jp","mlp","out","r9k","sp","toy"],"imagehosts":["http://imcute.yt/"]}],
|
archives: [{"uid":0,"name":"Moe","domain":"archive.moe","http":false,"https":true,"software":"foolfuuka","boards":["a","biz","c","co","diy","gd","h","i","int","jp","k","m","mlp","out","po","r9k","s4s","sci","sp","tg","tv","u","v","vg","vp","vr","wsg"],"files":["a","biz","c","co","diy","gd","h","i","jp","m","mlp","po","s4s","sci","tg","u","v","vg","vp","vr","wsg"]},{"uid":3,"name":"4plebs Archive","domain":"archive.4plebs.org","http":true,"https":true,"software":"foolfuuka","boards":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"],"files":["adv","f","hr","o","pol","s4s","tg","trv","tv","x"]},{"uid":5,"name":"Love is Over","domain":"archive.loveisover.me","http":true,"https":true,"software":"foolfuuka","boards":["c","d","e","i","lgbt","t","u","w","wg"],"files":["c","d","e","i","lgbt","t","u","w","wg"]},{"uid":8,"name":"Rebecca Black Tech","domain":"rbt.asia","http":false,"https":true,"software":"fuuka","boards":["cgl","g","mu","w"],"files":["cgl","g","mu","w"]},{"uid":10,"name":"warosu","domain":"warosu.org","http":false,"https":true,"software":"fuuka","boards":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"],"files":["3","biz","cgl","ck","diy","fa","g","ic","jp","lit","sci","tg","vr"]},{"uid":15,"name":"fgts","domain":"fgts.jp","http":true,"https":true,"software":"foolfuuka","boards":["asp","cm","h","hc","hm","n","p","r","s","soc","y"],"files":["asp","cm","h","hc","hm","n","p","r","s","soc","y"]},{"uid":21,"name":"imcute","domain":"imcute.yt","http":true,"https":false,"software":"foolfuuka","boards":["an","fit","gif","int","mlp","out","r9k","toy"],"files":["an","fit","gif","int","mlp","out","r9k","toy"],"imagehosts":["http://imcute.yt/"]}],
|
||||||
to: function(dest, data) {
|
to: function(dest, data) {
|
||||||
var archive;
|
var archive;
|
||||||
archive = (dest === 'search' || dest === 'board' ? Redirect.data.thread : Redirect.data[dest])[data.boardID];
|
archive = (dest === 'search' || dest === 'board' ? Redirect.data.thread : Redirect.data[dest])[data.boardID];
|
||||||
@ -13117,7 +13125,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
return $.ready(function() {
|
return $.ready(function() {
|
||||||
return $.globalEval('(function() {\n clickable_ids = false;\n var nodes = document.querySelectorAll(\'.posteruid, .capcode\');\n for (var i = 0; i < nodes.length; i++) {\n nodes[i].removeEventListener("click", idClick, false);\n }\n})();');
|
return $.globalEval('(function() {\n clickable_ids = false;\n var nodes = document.querySelectorAll(\'.posteruid, .capcode\');\n for (var i = 0; i < nodes.length; i++) {\n nodes[i].removeEventListener("click", idClick, false);\n }\n window.removeEventListener("message", Report.onMessage, false);\n})();');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
code: function() {
|
code: function() {
|
||||||
@ -13311,6 +13319,7 @@
|
|||||||
}
|
}
|
||||||
} else if (QR.nodes && !QR.nodes.el.hidden) {
|
} else if (QR.nodes && !QR.nodes.el.hidden) {
|
||||||
if (Conf['Persistent QR']) {
|
if (Conf['Persistent QR']) {
|
||||||
|
QR.captcha.destroy();
|
||||||
QR.hide();
|
QR.hide();
|
||||||
} else {
|
} else {
|
||||||
QR.close();
|
QR.close();
|
||||||
@ -13467,7 +13476,7 @@
|
|||||||
window.location = CatalogLinks.catalog();
|
window.location = CatalogLinks.catalog();
|
||||||
break;
|
break;
|
||||||
case Conf['Cycle sort type']:
|
case Conf['Cycle sort type']:
|
||||||
if (!Conf['JSON Navigation']) {
|
if (!(Conf['JSON Navigation'] && g.VIEW === 'index' && g.BOARD !== 'f')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Index.cycleSortType();
|
Index.cycleSortType();
|
||||||
@ -14060,7 +14069,7 @@
|
|||||||
className: 'dialog'
|
className: 'dialog'
|
||||||
});
|
});
|
||||||
$.extend(dialog, {
|
$.extend(dialog, {
|
||||||
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a> | <a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.15.10</a> | <a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a> | <a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
|
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a> | <a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.15.17</a> | <a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a> | <a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
|
||||||
});
|
});
|
||||||
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
||||||
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
||||||
|
|||||||
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||||
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.9.15.10' />
|
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.9.15.17' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
|
||||||
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
|
||||||
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.9.15.10' />
|
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.9.15.17' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -30,6 +30,7 @@ Alternatively, you can downgrade to <a href="https://addons.mozilla.org/en-US/fi
|
|||||||
<h2 id="chromium-version-click-to-install-https-ccd0-github-io-4chan-x-builds-4chan-x-crx-">Chromium version: <a href="https://ccd0.github.io/4chan-x/builds/4chan-X.crx">Click to Install</a></h2>
|
<h2 id="chromium-version-click-to-install-https-ccd0-github-io-4chan-x-builds-4chan-x-crx-">Chromium version: <a href="https://ccd0.github.io/4chan-x/builds/4chan-X.crx">Click to Install</a></h2>
|
||||||
<p>Download the file from the link above and add drag it to your <code>chrome://extensions</code> page.
|
<p>Download the file from the link above and add drag it to your <code>chrome://extensions</code> page.
|
||||||
This should also work for non-Windows/dev/canary Chrome and Chromium-based versions of Opera.</p>
|
This should also work for non-Windows/dev/canary Chrome and Chromium-based versions of Opera.</p>
|
||||||
|
<p><strong>The above will not work in Chrome (stable or beta) users on Windows; you must install from the <a href="https://chrome.google.com/webstore/detail/4chan-x/ohnjgmpcibpbafdlkimncjhflgedgpam">Chrome store</a>.</strong></p>
|
||||||
<h2 id="chromium-version-chrome-store-click-to-install-https-chrome-google-com-webstore-detail-4chan-x-ohnjgmpcibpbafdlkimncjhflgedgpam-">Chromium version (Chrome store): <a href="https://chrome.google.com/webstore/detail/4chan-x/ohnjgmpcibpbafdlkimncjhflgedgpam">Click to Install</a></h2>
|
<h2 id="chromium-version-chrome-store-click-to-install-https-chrome-google-com-webstore-detail-4chan-x-ohnjgmpcibpbafdlkimncjhflgedgpam-">Chromium version (Chrome store): <a href="https://chrome.google.com/webstore/detail/4chan-x/ohnjgmpcibpbafdlkimncjhflgedgpam">Click to Install</a></h2>
|
||||||
<p>The stable and beta releases of Chrome on Windows will disable extensions not installed from the Chrome store, so users will need to install 4chan X from the link above.
|
<p>The stable and beta releases of Chrome on Windows will disable extensions not installed from the Chrome store, so users will need to install 4chan X from the link above.
|
||||||
Only the latest stable version of 4chan X is available.</p>
|
Only the latest stable version of 4chan X is available.</p>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
"description": "Cross-browser userscript for maximum lurking on 4chan.",
|
"description": "Cross-browser userscript for maximum lurking on 4chan.",
|
||||||
"meta": {
|
"meta": {
|
||||||
"name": "4chan X",
|
"name": "4chan X",
|
||||||
"version": "1.9.15.10",
|
"version": "1.9.15.17",
|
||||||
"repo": "https://github.com/ccd0/4chan-x/",
|
"repo": "https://github.com/ccd0/4chan-x/",
|
||||||
"page": "https://github.com/ccd0/4chan-x",
|
"page": "https://github.com/ccd0/4chan-x",
|
||||||
"downloads": "https://ccd0.github.io/4chan-x/builds/",
|
"downloads": "https://ccd0.github.io/4chan-x/builds/",
|
||||||
|
|||||||
@ -59,7 +59,7 @@
|
|||||||
"http": true,
|
"http": true,
|
||||||
"https": false,
|
"https": false,
|
||||||
"software": "foolfuuka",
|
"software": "foolfuuka",
|
||||||
"boards": ["an", "fit", "gif", "int", "jp", "mlp", "out", "r9k", "sp", "toy"],
|
"boards": ["an", "fit", "gif", "int", "mlp", "out", "r9k", "toy"],
|
||||||
"files": ["an", "gif", "fit", "int", "jp", "mlp", "out", "r9k", "sp", "toy"],
|
"files": ["an", "fit", "gif", "int", "mlp", "out", "r9k", "toy"],
|
||||||
"imagehosts": ["http://imcute.yt/"]
|
"imagehosts": ["http://imcute.yt/"]
|
||||||
}]
|
}]
|
||||||
|
|||||||
@ -17,5 +17,5 @@ ReportLink =
|
|||||||
{post} = ReportLink
|
{post} = ReportLink
|
||||||
url = "//sys.4chan.org/#{post.board}/imgboard.php?mode=report&no=#{post}"
|
url = "//sys.4chan.org/#{post.board}/imgboard.php?mode=report&no=#{post}"
|
||||||
id = Date.now()
|
id = Date.now()
|
||||||
set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=200"
|
set = "toolbar=0,scrollbars=0,location=0,status=1,menubar=0,resizable=1,width=685,height=285"
|
||||||
window.open url, id, set
|
window.open url, id, set
|
||||||
|
|||||||
@ -36,7 +36,7 @@ Fourchan =
|
|||||||
name: 'Parse /sci/ math'
|
name: 'Parse /sci/ math'
|
||||||
cb: @math
|
cb: @math
|
||||||
|
|
||||||
# Disable 4chan's ID highlighting (replaced by IDHighlight).
|
# Disable 4chan's ID highlighting (replaced by IDHighlight) and reported post hiding.
|
||||||
$.ready ->
|
$.ready ->
|
||||||
$.globalEval '''
|
$.globalEval '''
|
||||||
(function() {
|
(function() {
|
||||||
@ -45,6 +45,7 @@ Fourchan =
|
|||||||
for (var i = 0; i < nodes.length; i++) {
|
for (var i = 0; i < nodes.length; i++) {
|
||||||
nodes[i].removeEventListener("click", idClick, false);
|
nodes[i].removeEventListener("click", idClick, false);
|
||||||
}
|
}
|
||||||
|
window.removeEventListener("message", Report.onMessage, false);
|
||||||
})();
|
})();
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|||||||
@ -47,6 +47,7 @@ Keybinds =
|
|||||||
$('.close', notification).click()
|
$('.close', notification).click()
|
||||||
else if QR.nodes and !QR.nodes.el.hidden
|
else if QR.nodes and !QR.nodes.el.hidden
|
||||||
if Conf['Persistent QR']
|
if Conf['Persistent QR']
|
||||||
|
QR.captcha.destroy()
|
||||||
QR.hide()
|
QR.hide()
|
||||||
else
|
else
|
||||||
QR.close()
|
QR.close()
|
||||||
|
|||||||
@ -272,11 +272,12 @@ ThreadWatcher =
|
|||||||
{threads} = g.BOARD
|
{threads} = g.BOARD
|
||||||
for threadID in threads.keys
|
for threadID in threads.keys
|
||||||
thread = threads[threadID]
|
thread = threads[threadID]
|
||||||
toggler = $ '.watch-thread-link', thread.OP.nodes.post
|
|
||||||
helper = if ThreadWatcher.isWatched thread then ['addClass', 'Unwatch'] else ['rmClass', 'Watch']
|
helper = if ThreadWatcher.isWatched thread then ['addClass', 'Unwatch'] else ['rmClass', 'Watch']
|
||||||
$[helper[0]] toggler, 'watched'
|
if thread.OP
|
||||||
|
toggler = $ '.watch-thread-link', thread.OP.nodes.post
|
||||||
|
$[helper[0]] toggler, 'watched'
|
||||||
|
toggler.title = "#{helper[1]} Thread"
|
||||||
$[helper[0]] thread.catalogView.nodes.root, 'watched' if thread.catalogView
|
$[helper[0]] thread.catalogView.nodes.root, 'watched' if thread.catalogView
|
||||||
toggler.title = "#{helper[1]} Thread"
|
|
||||||
|
|
||||||
for refresher in ThreadWatcher.menu.refreshers
|
for refresher in ThreadWatcher.menu.refreshers
|
||||||
refresher()
|
refresher()
|
||||||
|
|||||||
@ -34,6 +34,7 @@ Captcha.v2 =
|
|||||||
|
|
||||||
onPostChange: ->
|
onPostChange: ->
|
||||||
@setup() if @postsCount is 0
|
@setup() if @postsCount is 0
|
||||||
|
@postsCount = 0 if QR.posts.length is 1 and !Conf['Auto-load captcha'] and !QR.posts[0].com and !QR.posts[0].file
|
||||||
|
|
||||||
toggle: ->
|
toggle: ->
|
||||||
if @nodes.container and !@timeouts.destroy
|
if @nodes.container and !@timeouts.destroy
|
||||||
@ -85,8 +86,8 @@ Captcha.v2 =
|
|||||||
afterSetup: (mutations) ->
|
afterSetup: (mutations) ->
|
||||||
for mutation in mutations
|
for mutation in mutations
|
||||||
for node in mutation.addedNodes
|
for node in mutation.addedNodes
|
||||||
@setupIFrame node if node.nodeName is 'IFRAME'
|
@setupIFrame iframe if iframe = $.x './descendant-or-self::iframe', node
|
||||||
@setupTextArea node if node.nodeName is 'TEXTAREA'
|
@setupTextArea textarea if textarea = $.x './descendant-or-self::textarea', node
|
||||||
return
|
return
|
||||||
|
|
||||||
setupIFrame: (iframe) ->
|
setupIFrame: (iframe) ->
|
||||||
@ -122,8 +123,8 @@ Captcha.v2 =
|
|||||||
null
|
null
|
||||||
|
|
||||||
save: (pasted) ->
|
save: (pasted) ->
|
||||||
reload = QR.cooldown.auto and @needed()
|
|
||||||
$.forceSync 'captchas'
|
$.forceSync 'captchas'
|
||||||
|
reload = (QR.cooldown.auto or Conf['Post on Captcha Completion']) and @needed()
|
||||||
@captchas.push
|
@captchas.push
|
||||||
response: $('textarea', @nodes.container).value
|
response: $('textarea', @nodes.container).value
|
||||||
timeout: (if pasted then @setupTime else Date.now()) + 2 * $.MINUTE
|
timeout: (if pasted then @setupTime else Date.now()) + 2 * $.MINUTE
|
||||||
@ -132,17 +133,19 @@ Captcha.v2 =
|
|||||||
|
|
||||||
if reload
|
if reload
|
||||||
@shouldFocus = true
|
@shouldFocus = true
|
||||||
return @reload()
|
@reload()
|
||||||
|
|
||||||
if pasted
|
|
||||||
@destroy()
|
|
||||||
else
|
else
|
||||||
@timeouts.destroy ?= setTimeout @destroy.bind(@), 3 * $.SECOND
|
if pasted
|
||||||
QR.nodes.status.focus()
|
@destroy()
|
||||||
QR.submit() if Conf['Post on Captcha Completion']
|
else
|
||||||
|
@timeouts.destroy ?= setTimeout @destroy.bind(@), 3 * $.SECOND
|
||||||
|
QR.nodes.status.focus()
|
||||||
|
|
||||||
|
QR.submit() if Conf['Post on Captcha Completion'] and !QR.cooldown.auto
|
||||||
|
|
||||||
clear: ->
|
clear: ->
|
||||||
return unless @captchas.length
|
return unless @captchas.length
|
||||||
|
$.forceSync 'captchas'
|
||||||
now = Date.now()
|
now = Date.now()
|
||||||
for captcha, i in @captchas
|
for captcha, i in @captchas
|
||||||
break if captcha.timeout > now
|
break if captcha.timeout > now
|
||||||
|
|||||||
@ -126,6 +126,7 @@ QR =
|
|||||||
if QR.captcha isnt Captcha.noscript or (QR.captcha.isEnabled and not Conf['Auto-load captcha'])
|
if QR.captcha isnt Captcha.noscript or (QR.captcha.isEnabled and not Conf['Auto-load captcha'])
|
||||||
QR.captcha.destroy()
|
QR.captcha.destroy()
|
||||||
focusin: ->
|
focusin: ->
|
||||||
|
QR.captcha.setup() if $.hasClass(QR.nodes.el, 'autohide') and !$.hasClass(QR.nodes.el, 'focus')
|
||||||
$.addClass QR.nodes.el, 'focus'
|
$.addClass QR.nodes.el, 'focus'
|
||||||
focusout: ->
|
focusout: ->
|
||||||
$.rmClass QR.nodes.el, 'focus'
|
$.rmClass QR.nodes.el, 'focus'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user