由于内联模块脚本没有document.currentScript
,我们不能简单地将其附加document.currentScript.remove()
在脚本末尾。
附加说明/背景:
- 我指的是模块脚本执行的同步阶段。即,一旦脚本同步执行,就应立即删除,而无需等待其他代码可能运行的事件循环滴答。
- 我正在以编程方式将模块脚本添加到 DOM,但我无法控制脚本标记内的代码(即它是“用户空间”代码),也无法控制它是否是模块脚本等等。我只能对脚本进行不影响代码的简单
document.currentScript.remove()
修改 - 例如附加就可以了,但将脚本包装在函数/块作用域中或类似操作会对代码产生重大影响(例如变量作用域),所以我不能做这样的事情。 - 我必须承认,这是一个不寻常的要求,但这是一个不寻常的用例 - 与开发工具/实时调试/等相关。