在 运行 document.head 时将 ASYNC 添加到 <script> 标签
Add ASYNC to <script> tag on when running document.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);
这会注入 JavaScript 文件,但我在第 imported.async = async;
行出错:
uncaught ReferenceError: async is not defined
并且async
没有添加到标签中。
如何将 async
添加到 注入的 JavaScript 文件中?
PS:我不是在寻找 jQuery 答案,只是纯粹的 JavaScript.
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
我无法发表评论.. 因为我没有代表。但我想添加到已接受的答案中,你也可以这样做:
imported.async = !!async;
如果值为 false 或 async 未定义且仅当在 true 上定义和初始化时才为 true,这将赋值为 false。
我正在尝试将 注入 一个 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);
这会注入 JavaScript 文件,但我在第 imported.async = async;
行出错:
uncaught ReferenceError: async is not defined
并且async
没有添加到标签中。
如何将 async
添加到 注入的 JavaScript 文件中?
PS:我不是在寻找 jQuery 答案,只是纯粹的 JavaScript.
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
我无法发表评论.. 因为我没有代表。但我想添加到已接受的答案中,你也可以这样做:
imported.async = !!async;
如果值为 false 或 async 未定义且仅当在 true 上定义和初始化时才为 true,这将赋值为 false。