你怎么能用js添加一个中间有space的属性呢?

How can you add an attribute that has a space in between with js?

好的,这是代码的一部分。我是从一个网站上得到的。我得到了代码,所以我可以将它嵌入另一个网站。顺便说一句,这是实时聊天。

我需要通过JS注入JS嵌入代码。 这是代码的一部分。 (我删除了一些不必要的信息)

<script id="abcd" data-cfasync="false" async src="//ab.abc.com/js/gz/emb.js" style="width: 272px;height: 440px;">{"handle":"nitrotype","arch":"js","styles":{"a":"0084ef","b":100,"c":"FFFFFF","cvh":30}}</script>

我尝试使用属性来做到这一点。

var x = document.createElement("script");
    x.setAttribute("id", "abcd"
    x.setAttribute("data-cfasync = "false";
    x.setAttribute("async src

嗯..就在那里。 async src 没用。 JS不承认这一点。 所以我想知道是否有解决此问题的方法。

如果你们有任何想法,请告诉我。 谢谢

而且,顺便说一句,440px之后的>是其中的一部分。那是另一回事了。

虽然由于 async 后面没有 =,属性看起来像是 async src,但它们实际上是两个独立的值。根据 the HTML spec,没有值的属性默认为空字符串。这本质上是针对布尔属性(存在或不存在),例如脚本标记的 asyncdefer,或输入标记的 disabled。因此,您只需设置两个属性:

x.setAttribute("async", "");
x.setAttribute("src", "//ab.abc.com/js/gz/emb.js");