From 6bfc80b418cb4f6ab908e743f80ca6331c5e6317 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 16 Nov 2023 21:09:28 +0400 Subject: [PATCH] Support `nomodule` attribute for `canvas.scripts` options --- src/canvas/view/FrameView.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/canvas/view/FrameView.ts b/src/canvas/view/FrameView.ts index 6c9331933..615d54e35 100644 --- a/src/canvas/view/FrameView.ts +++ b/src/canvas/view/FrameView.ts @@ -306,8 +306,13 @@ export default class FrameView extends ModuleView { type: 'text/javascript', ...(isString(src) ? { src } : src), }); - scriptEl.onerror = scriptEl.onload = appendScript.bind(null, scripts); el.contentDocument?.head.appendChild(scriptEl); + + if (scriptEl.hasAttribute('nomodule') && 'noModule' in HTMLScriptElement.prototype) { + appendScript(scripts); + } else { + scriptEl.onerror = scriptEl.onload = appendScript.bind(null, scripts); + } } else { this.renderBody(); em && em.trigger(evLoad, evOpts);