运行 document.head 时将 ASYNC 添加到 <script> 标记

Rub*_*oli 4 javascript asynchronous appendchild head

我正在尝试将JavaScript 文件注入<head></head>到. JavaScript 文件是异步的,我想script注入时将其添加到标签中。

这是我到目前为止所拥有的:

var imported = document.createElement('script');
imported.src = 'http://domain/js/my.js';
imported.setAttribute("type", "text/javascript");
imported.async = async;
document.head.appendChild(imported);
Run Code Online (Sandbox Code Playgroud)

这会注入 JavaScript 文件,但我在线收到错误imported.async = async;

未捕获的引用错误:异步未定义

并且async不添加到标签中。

如何添加到注入的JavaScript 文件async中?

PS:我不是在寻找 jQuery 答案,只是纯 JavaScript。

Pri*_*mar 5

async变量未定义,因此imported.async = async;会抛出错误。

你可以做var async = true; or false然后imported.async = async;

或者

imported.async = true;

请注意,async属性应该是boolean.

阅读文档:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script