【问题标题】:Create script tag with async attribute使用 async 属性创建脚本标签
【发布时间】:2014-10-06 19:14:30
【问题描述】:

我正在注入这样的脚本:

var script = $('<script>', {
    type: 'text/javascript',
    async: true,
    src: 'https://script.js'
});

$('script:first').before(script);

这会生成如下标记:

<script type="text/javascript" async="async" src="https://script.js"></script>

我更喜欢以下语法:

<script type="text/javascript" async src="https://script.js"></script>

将选项传递给 jQuery DOM 元素创建器时是否支持此功能?或者,我应该只使用纯 JavaScript 来实现吗?

【问题讨论】:

  • 为什么要其他语法?最简单的解决方法可能是将整个内容变成字符串而不是 jquery 转换的对象。
  • 部分只是好奇,但我页面上的所有其他脚本都加载了 requireJS,它使用替代语法设置脚本样式。当一个不同的脚本时,我很难快速浏览所有脚本。
  • 它根本不生成标记。它将脚本元素添加到 DOM。

标签: javascript jquery


【解决方案1】:

您可以使用纯 JS 设置属性。通过 jQuery 执行此操作将自动填充该值。

var script = $('<script>', {
    type: 'text/javascript',
    src: 'https://script.js'
});

script[0].setAttribute("async", "");

$('script:first').before(script);

【讨论】:

    猜你喜欢
    • 2012-12-27
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2023-04-02
    • 2012-08-25
    • 2017-05-17
    相关资源
    最近更新 更多