diff --git a/src/sandbox/patchers/dynamicAppend/forStrictSandbox.ts b/src/sandbox/patchers/dynamicAppend/forStrictSandbox.ts index ae4a876..1208f01 100644 --- a/src/sandbox/patchers/dynamicAppend/forStrictSandbox.ts +++ b/src/sandbox/patchers/dynamicAppend/forStrictSandbox.ts @@ -50,8 +50,10 @@ function patchDocument(cfg: { sandbox: SandBox; speedy: boolean }) { }, get: (target, p) => { if (p === 'createElement') { - return (...args: Parameters) => { - const element = document.createElement(...args); + // Must store the original createElement function to avoid error in nested sandbox + const targetCreateElement = target.createElement; + return function createElement(...args: Parameters) { + const element = targetCreateElement.call(target, ...args); attachElementToProxy(element, sandbox.proxy); return element; };