diff --git a/src/client/element.ts b/src/client/element.ts index cc7162f..f319606 100644 --- a/src/client/element.ts +++ b/src/client/element.ts @@ -6,6 +6,7 @@ import { rewriteJs, rewriteSrcset, } from "./shared"; +import { documentProxy } from "./window"; const attrObject = { nonce: [HTMLElement], @@ -125,3 +126,19 @@ Object.defineProperty(Element.prototype, "innerHTML", { return innerHTML.set.call(this, value); }, }); + +MutationObserver.prototype.observe = new Proxy(MutationObserver.prototype.observe, { + apply(target, thisArg, argArray) { + if (argArray[0] === documentProxy) argArray[0] = document; + + return Reflect.apply(target, thisArg, argArray); + } +}); + +document.createTreeWalker = new Proxy(document.createTreeWalker, { + apply(target, thisArg, argArray) { + if (argArray[0] === documentProxy) argArray[0] = document; + + return Reflect.apply(target, thisArg, argArray); + } +});