X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=plugins%2Fembed_original%2Finit.js;h=b4465d1a803cfec4123392bdfe751c41e5861bc7;hb=add558e7e53fb9ab2e0e3186573bdb90d0e910ff;hp=517f2cd54a3c0c39346ebe16bcd42785a566aaa5;hpb=62a1f9899ebfc099720a75a7ff0476c86034d45d;p=tt-rss.git diff --git a/plugins/embed_original/init.js b/plugins/embed_original/init.js index 517f2cd5..b4465d1a 100644 --- a/plugins/embed_original/init.js +++ b/plugins/embed_original/init.js @@ -1,29 +1,26 @@ function embedOriginalArticle(id) { try { - var hasSandbox = "sandbox" in document.createElement("iframe"); + const hasSandbox = "sandbox" in document.createElement("iframe"); if (!hasSandbox) { alert(__("Sorry, your browser does not support sandboxed iframes.")); return; } - var query = "op=pluginhandler&plugin=embed_original&method=getUrl&id=" + - param_escape(id); - - var c = false; + let c = false; if (isCdmMode()) { - c = $$("div#RROW-" + id + " div[class=cdmContentInner]")[0]; + c = $$("div#RROW-" + id + " div[class=content-inner]")[0]; } else if (id == getActiveArticleId()) { - c = $$("div[class=postContent]")[0]; + c = $$(".post .content")[0]; } if (c) { - var iframe = c.getElementsByClassName("embeddedContent")[0]; + const iframe = c.parentNode.getElementsByClassName("embeddedContent")[0]; if (iframe) { - Element.show(c.firstChild); - c.removeChild(iframe); + Element.show(c); + c.parentNode.removeChild(iframe); if (isCdmMode()) { cdmScrollToArticleId(id, true); @@ -33,35 +30,29 @@ function embedOriginalArticle(id) { } } - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function(transport) { - var ti = JSON.parse(transport.responseText); - - if (ti) { - - var iframe = new Element("iframe", { - class: "embeddedContent", - src: ti.url, - sandbox: 'allow-scripts', - }); - - if (c) { - Element.hide(c.firstChild); - - if (c.firstChild.nextSibling) - c.insertBefore(iframe, c.firstChild.nextSibling); - else - c.appendChild(iframe); - - if (isCdmMode()) { - cdmScrollToArticleId(id, true); - } + const query = { op: "pluginhandler", plugin: "embed_original", method: "getUrl", id: id }; + + xhrJson("backend.php", query, (reply) => { + if (reply) { + const iframe = new Element("iframe", { + class: "embeddedContent", + src: reply.url, + width: (c.parentNode.offsetWidth - 5) + 'px', + height: (c.parentNode.parentNode.offsetHeight - c.parentNode.firstChild.offsetHeight - 5) + 'px', + style: "overflow: auto; border: none; min-height: " + (document.body.clientHeight / 2) + "px;", + sandbox: 'allow-scripts', + }); + + if (c) { + Element.hide(c); + c.parentNode.insertBefore(iframe, c); + + if (isCdmMode()) { + cdmScrollToArticleId(id, true); } } - - } }); - + } + }); } catch (e) { exception_error("embedOriginalArticle", e);