From b49866948702216bf53b73f2b0f0e4fdba5fa107 Mon Sep 17 00:00:00 2001 From: Hamcha Date: Sun, 21 Jun 2020 20:51:15 +0200 Subject: [PATCH] Run dom manips before adding to tree so we don't duplicate resource requests --- src/TabManager.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/TabManager.ts b/src/TabManager.ts index e10d176..0cacc81 100644 --- a/src/TabManager.ts +++ b/src/TabManager.ts @@ -53,15 +53,20 @@ async function loadPage(page: string, elem: HTMLElement) { await nextAnimationFrame(); // Set as HTML content and run HTML manipulations on it - elem.innerHTML = html; + const div = document.createElement("div"); + div.className = elem.className; + div.innerHTML = html; console.log(`${page}: processing`); - processHTML(elem, page); + processHTML(div, page); // Save result to cache - cache.set(key, elem.outerHTML, CURRENT_VERSION).then(() => { + cache.set(key, div.outerHTML, CURRENT_VERSION).then(() => { console.log(`${page}: saved to cache`); }); + + elem.replaceWith(div); + elem = div; } else { // Set cached content as HTML elem.outerHTML = html;