动态插入脚本标签?

时间:2018-09-07 18:03:30

标签: javascript html script-tag

所以我有这个脚本标签

 <script async="async" data-cfasync="false" src=""></script>

我希望能够动态插入。我尝试将其设置为变量,

 let scriptTag = '<script async="async" data-cfasync="false" src=""></script>';

,然后使用innerHTML将其添加到我的内容div中,但这似乎不起作用。我知道我要解决这个非常错误的问题,并且我当中的一部分认为这甚至是不可能的。

我想要这样做的原因是,我可以出于测试目的打开和关闭广告,以便测试期间我的视图不会影响分析,这是我什至应该担心的事情,或者它可以忽略不计。我只是知道,由于没有用于打开和关闭广告的测试变量,正是出于这种原因,我被禁止在chartboost中使用。

编辑:是的,这与其他问题类似,但是这些问题无法使用“ data-cfasync”之类的属性来解决。 Mandalina和supra28将它钉在头上。

2 个答案:

答案 0 :(得分:2)

尝试此功能:

const foo = {
  a: "part 1",
  b: "part 2",
  c: "part 3",
}

//get a,b,c
const ({a,b,c}) = foo;

console.log(a,b,c) // "part 1, part 2, part 3"

答案 1 :(得分:1)

似乎您没有正确添加脚本标签。 这是您可以执行的一种方法:

 const script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "";
    script.async = true;
    script.dataset.cfasync = false;  
    document.body.appendChild(script);
    script.addEventListener("load", () => {
      console.log("Script added successfully");
      resolve();
    });