diff --git a/4chan_x.user.js b/4chan_x.user.js
index 484fbecdb..163fd9553 100644
--- a/4chan_x.user.js
+++ b/4chan_x.user.js
@@ -1255,7 +1255,7 @@
data = e.data;
if (data) {
$('input[name=recaptcha_response_field]', qr.el).value = '';
- $('#error', qr.el).textContent = data;
+ $.extend($('#error', qr.el), JSON.parse(data));
qr.autohide.unset();
return;
}
@@ -1351,7 +1351,7 @@
THREAD_ID = g.THREAD_ID || $.x('ancestor::div[@class="thread"]/div', link).id;
spoiler = $('.postarea label') ? '' : '';
challenge = $('input[name=recaptcha_challenge_field]').value;
- html = "
";
+ html = " ";
qr.el = ui.dialog('qr', {
top: '0px',
left: '0px'
@@ -1389,8 +1389,16 @@
in the global context.
*/
$.globalEval(function() {
- var data, _ref;
- data = ((_ref = document.querySelector('table font b')) != null ? _ref.firstChild.textContent : void 0) || '';
+ var data, href, node, textContent, _ref;
+ if (node = (_ref = document.querySelector('table font b')) != null ? _ref.firstChild : void 0) {
+ textContent = node.textContent, href = node.href;
+ data = JSON.stringify({
+ textContent: textContent,
+ href: href
+ });
+ } else {
+ data = '';
+ }
return parent.postMessage(data, '*');
});
c = $('b').lastChild;
@@ -2822,6 +2830,12 @@
.error {\
color: red;\
}\
+ #error {\
+ cursor: default;\
+ }\
+ #error[href] {\
+ cursor: pointer;\
+ }\
td.replyhider {\
vertical-align: top;\
}\
diff --git a/script.coffee b/script.coffee
index ee31fc2d2..97985c24a 100644
--- a/script.coffee
+++ b/script.coffee
@@ -982,7 +982,7 @@ qr =
{data} = e
if data # error message
$('input[name=recaptcha_response_field]', qr.el).value = ''
- $('#error', qr.el).textContent = data
+ $.extend $('#error', qr.el), JSON.parse data
qr.autohide.unset()
return
@@ -1082,7 +1082,7 @@ qr =
-
+
"
qr.el = ui.dialog 'qr', top: '0px', left: '0px', html
@@ -1118,7 +1118,11 @@ qr =
in the global context.
###
$.globalEval ->
- data = document.querySelector('table font b')?.firstChild.textContent or ''
+ if node = document.querySelector('table font b')?.firstChild
+ {textContent, href} = node
+ data = JSON.stringify {textContent, href}
+ else
+ data = ''
parent.postMessage data, '*'
c = $('b').lastChild
@@ -2209,6 +2213,12 @@ main =
.error {
color: red;
}
+ #error {
+ cursor: default;
+ }
+ #error[href] {
+ cursor: pointer;
+ }
td.replyhider {
vertical-align: top;
}