【问题标题】:clonenode script not execute in firefoxclonenode脚本不在firefox中执行
【发布时间】:2022-01-17 21:36:15
【问题描述】:

为什么 clonenode 脚本不能在 firefox 中执行。它在 chrome 中运行良好?

<script id="myscript" src='myscript.js' type='text/template'></script>

我通过将 type='text/template' 替换为 'text/javascript' 来克隆它

const existing = document.querySelector("#myscript");
const newScript = existing.cloneNode();
newScript.type = 'text/javascript';
existing.replaceWith(newScript);

可能是什么原因?

【问题讨论】:

  • 这似乎是X/Y problem。你为什么要这样做?

标签: javascript clonenode


【解决方案1】:

似乎 Firefox 正在克隆表明该脚本已被处理的标志,但 Chrome 没有。 (我已经能够复制您的结果。)

要可靠地做到这一点,请创建一个新元素:

const existing = document.querySelector("#myscript");
const newScript = document.createElement("script");
newScript.src = existing.src;
newScript.type = "text/javascript"; // Or just leave this line out, JavaScript is the default.
existing.replaceWith(newScript);

【讨论】:

  • 谢谢,但它如何与 querySelectorAll 一起使用?
  • @Uxair - 我看不出querySelectorAll 与问题的关系...?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多