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 = "
Quick Reply X
" + spoiler + "
"; + html = "
Quick Reply X
" + spoiler + "
"; 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; }