From 86232c68597290401c992df8061987a29ee9bdff Mon Sep 17 00:00:00 2001 From: Martin Date: Fri, 3 May 2024 13:23:16 -0400 Subject: [PATCH] better iframe searching --- tdx-enhanced.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/tdx-enhanced.js b/tdx-enhanced.js index be8f1b1..c3679e5 100644 --- a/tdx-enhanced.js +++ b/tdx-enhanced.js @@ -319,16 +319,21 @@ } function injectOtherStyles(element) { + //find iframes - likely text editors if (element.tagName == "IFRAME") { let frame = element.contentWindow.document - let e = frame.querySelector("head") - console.warn("Got iframe!",frame) + console.log("Found iFrame:",frame) - let s = document.createElement("style") - s.innerText = customStyles + //check for existing style block + if (!frame.querySelector("#customStyles")) { + let head = frame.querySelector("head") + let s = document.createElement("style") + s.id = "customStyles" + s.innerText = customStyles - e.appendChild(s) + head.appendChild(s) + } } } @@ -341,13 +346,12 @@ parseTable(mutation) } - let editor = t.querySelector(".cke_wysiwyg_frame") - let editorDrop = t.querySelector(".cke_panel_frame") - if (editor) { - injectOtherStyles(editor) - } - if (editorDrop) { - injectOtherStyles(editorDrop) + //search whole document, frames may reset when reopened + let frames = document.querySelectorAll("iframe") + if (frames) { + [...frames].forEach(frame=>{ + injectOtherStyles(frame) + }); } }); });