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];
}
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);
}
}
- 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);