diff --git a/4chan_x.user.js b/4chan_x.user.js
index 588e8a14d..3dcf8f3dd 100644
--- a/4chan_x.user.js
+++ b/4chan_x.user.js
@@ -733,9 +733,6 @@
if (!(key = keybinds.cb.keyCode(e))) {
return;
}
- if (key === 'BS') {
- key = '';
- }
thread = nav.getThread();
switch (key) {
case conf.close:
@@ -1257,7 +1254,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;
}
@@ -1353,7 +1350,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'
@@ -1391,8 +1388,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;
@@ -2824,6 +2829,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 d5b1edacd..1667905b1 100644
--- a/script.coffee
+++ b/script.coffee
@@ -521,7 +521,6 @@ keybinds =
keydown: (e) ->
return if e.target.nodeName in ['TEXTAREA', 'INPUT'] and not e.altKey and not e.ctrlKey and not (e.keyCode is 27)
return unless key = keybinds.cb.keyCode e
- if key is 'BS' then key = ''
thread = nav.getThread()
switch key
@@ -981,7 +980,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
@@ -1081,7 +1080,7 @@ qr =
-
+
"
qr.el = ui.dialog 'qr', top: '0px', left: '0px', html
@@ -1117,7 +1116,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
@@ -2208,6 +2211,12 @@ main =
.error {
color: red;
}
+ #error {
+ cursor: default;
+ }
+ #error[href] {
+ cursor: pointer;
+ }
td.replyhider {
vertical-align: top;
}