javascript - 在加载自定义脚本之前加载 jQuery,而不使用模块或多个 <script> 标记

标签 javascript jquery

<分区>

我有一个简单的脚本,我将它放在自己的文件 (my_file.js) 中。此脚本依赖于 jQuery。显然,用户可以通过 head 标签内的脚本标签访问其功能:

<head>
<script src='http://code.jquery.com/jquery-3.3.1.min.js'></script>
<script src='my_file.js'></script>
</head>

这非常有效,因为 JS 是按顺序加载的。但我希望用户不必在顶部显式添加 jQuery。有没有一种方法 my_file.js 可以在它自己的 JS 之前加载 jQuery,这样用户只添加一个文件:

<head>
<script src='my_file.js'></script>
</head>

我知道模块和 bundler 会处理这个问题,但我很想看看是否有一种方法允许一个文件引入其依赖项,并等到它加载后再运行脚本的其余部分。

是否有像动态导入这样的东西:

import('http://code.jquery.com/jquery-3.3.1.min.js').then(module => {
  // load my scripts here
});

或普通 JS 中的 AJAX:

var xhr = new XMLHttpRequest()
xhr.open('GET', 'http://code.jquery.com/jquery-3.3.1.min.js')
xhr.onload = function() {
    if (xhr.status === 200) {
        // load my scripts here
    }
    else {
        console.log('Request failed.  Returned status of ' + xhr.status)
    }

}

我尝试的一切都在 jQuery 之前运行 my_file.js。 如何确保首先加载 jQuery,而不必将其放在标记中?

最佳答案

打开jquery.min.js在您的浏览器上。选择所有代码,然后复制它。然后将其粘贴到 my_file.js 的开头。

代码应该是这样的:

/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use st.....

// Your code here...

关于javascript - 在加载自定义脚本之前加载 jQuery,而不使用模块或多个 &lt;script&gt; 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53795520/

相关文章:

javascript - 验证 Javascript 中的表单不起作用

javascript - 点击 <li> 元素时选择文本

javascript - 使用 javascript 将列粘贴到页面底部的更有效方法?

javascript - 哪个 jQuery 事件处理程序适用于页面加载?

javascript - 如何在另一个输入框填充后使输入框变暗?

javascript - 如何使用访问 token 来规避 FB.login()

javascript - 在html5中调用onclick按钮的函数

javascript - Jquery 替换文本而不删除列表

javascript - 将文件夹中的所有图像包含在数组中的最佳方法是什么?

javascript - jQuery 仅在事件中保存最后一个值