use g.requests, handle !200

This commit is contained in:
James Campos 2011-05-07 21:41:09 -07:00
parent 6292a9dfea
commit f248398b46
2 changed files with 27 additions and 19 deletions

View File

@ -1692,35 +1692,39 @@
return _results; return _results;
}, },
mouseover: function(e) { mouseover: function(e) {
var el, html, id, qp, threadID; var el, id, qp, req, threadID;
id = this.textContent.replace(">>", ''); id = this.textContent.replace(">>", '');
qp = $('#qp'); qp = $('#qp');
if (el = d.getElementById(id)) { if (el = d.getElementById(id)) {
qp.innerHTML = el.innerHTML; qp.innerHTML = el.innerHTML;
} else { } else {
threadID = this.pathname.split('/').pop(); threadID = this.pathname.split('/').pop();
if (html = g.cache[threadID]) { if (req = g.requests[threadID] && req.readyState === 4) {
quotePreview.get(id, threadID, html); quotePreview.parse(req, id, threadID);
} else { } else {
qp.innerHTML = "Loading " + id + "..."; qp.innerHTML = "Loading " + id + "...";
$.get(this.href, (function() { if (!req) {
html = this.responseText; g.requests[threadID] = $.get(this.href, (function() {
g.cache[threadID] = html; return quotePreview.parse(this, id, threadID);
return quotePreview.get(id, threadID, html); }));
})); }
} }
} }
$.show(qp); $.show(qp);
return ui.el = qp; return ui.el = qp;
}, },
get: function(id, threadID, innerHTML) { parse: function(req, id, threadID) {
var body, html, qp, reply, _i, _len, _ref; var body, html, qp, reply, _i, _len, _ref;
qp = $('#qp'); qp = $('#qp');
if (qp.innerHTML !== ("Loading " + id + "...")) { if (qp.innerHTML !== ("Loading " + id + "...")) {
return; return;
} }
if (req.status !== 200) {
qp.innerHTML = "" + req.status + " " + req.statusText;
return;
}
body = $.el('body', { body = $.el('body', {
innerHTML: innerHTML innerHTML: req.responseText
}); });
if (id === threadID) { if (id === threadID) {
html = $('blockquote', body).innerHTML; html = $('blockquote', body).innerHTML;

View File

@ -1355,21 +1355,25 @@ quotePreview =
qp.innerHTML = el.innerHTML qp.innerHTML = el.innerHTML
else else
threadID = @pathname.split('/').pop() threadID = @pathname.split('/').pop()
if html = g.cache[threadID] if req = g.requests[threadID] and req.readyState is 4
quotePreview.get id, threadID, html quotePreview.parse req, id, threadID
else else
qp.innerHTML = "Loading #{id}..." qp.innerHTML = "Loading #{id}..."
$.get @href, (-> if not req
html = @responseText g.requests[threadID] = $.get @href,
g.cache[threadID] = html (-> quotePreview.parse this, id, threadID)
quotePreview.get id, threadID, html
)
$.show qp $.show qp
ui.el = qp ui.el = qp
get: (id, threadID, innerHTML) -> parse: (req, id, threadID) ->
qp = $ '#qp' qp = $ '#qp'
return unless qp.innerHTML is "Loading #{id}..." return unless qp.innerHTML is "Loading #{id}..."
body = $.el 'body', {innerHTML}
if req.status isnt 200
qp.innerHTML = "#{req.status} #{req.statusText}"
return
body = $.el 'body',
innerHTML: req.responseText
if id == threadID #OP if id == threadID #OP
html = $('blockquote', body).innerHTML html = $('blockquote', body).innerHTML
else else