【问题标题】:jquery not loading when it is included before other javascript filesjquery在其他javascript文件之前包含时不加载
【发布时间】:2017-05-11 11:16:06
【问题描述】:
<!doctype html>
<html>
<head>
    <meta charset="utf-8">

    <title>Electron Boilerplate</title>

    <link href="stylesheets/main.css" rel="stylesheet" type="text/css">
    <link href="../vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

    <!-- MetisMenu CSS -->
    <link href="../vendor/metisMenu/metisMenu.min.css" rel="stylesheet">

    <!-- Custom CSS -->
    <link href="../vendor/sb-admin-2.css" rel="stylesheet">

    <!-- Custom Fonts -->
    <link href="../vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">

</head>
<body>
  <div id="wrapper">
    <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html">SB Admin v2.0</a>
      </div>
    ...



    </nav>
  </div>
    <script src="../vendor/jquery/jquery.min.js"></script>
    <script src="helpers/context_menu.js"></script>
    <script src="helpers/external_links.js"></script>

    <script src="app.js"></script>
    <script src="../vendor/bootstrap/js/bootstrap.min.js"></script>

    <!-- Metis Menu Plugin JavaScript -->
    <script src="../vendor/metisMenu/metisMenu.min.js"></script>
    <script src="../vendor/sb-admin-2.js"></script>
</body>
</html>

目前控制台给了我以下三个错误:

未捕获的错误:Bootstrap 的 JavaScript 需要 jQuery (bootstrap.min.js:16)

Uncaught ReferenceError: jQuery is not defined (metisMenu.min.js:9)

Uncaught ReferenceError: $ is not defined (sb-admin-2.js:6)

我在网上搜索过,但找不到适合我的问题的解决方案。我尝试将jquery.min.js 移动到标题并将jquery 的源更改为https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js。这两个选项都不起作用。我认为这可能是因为在加载其他 javascript 文件之后才加载 jquery。我该如何解决这个问题?

更新: 这是我的文件夹结构:

供应商有:

app.html 在这里:

我尝试在控制台中输入jQuery.fn.jquery 和jQuery().jquery。两者都给了我Uncaught ReferenceError: jQuery is not defined(…).所以看起来jQuery根本没有加载。

【问题讨论】:

  • 查看控制台是否有404错误?
  • 不,我没有看到任何 404 错误
  • 确保你没有添加 jquery 两次
  • 您使用的是什么版本的 jQuery?您将需要使用受支持的版本,应支持 jQuery 版本 1.9.1 - 3。 github.com/twbs/bootstrap/blob/v3.3.7/bower.json
  • $ is not defined 和 jQuery is not defined 是同样的错误。 $ 是 jQuery 对象的简写。 - 需要 jQuery 对象的引导程序也很清楚...不清楚为什么它找不到它...奇怪

标签: javascript jquery html


【解决方案1】:

似乎 jQuery 被加载到电子中的一个孤立作用域中。 您可以在所有脚本导入之前插入此脚本

<script>
if (typeof module === 'object') {
    window.module = module; 
    module = undefined;
}
</script>

这应该适用于浏览器和电子

【讨论】:

  • 这对我有用。谢谢,我在这里找到了类似的答案:stackoverflow.com/questions/32621988/…
  • 太棒了。谢谢它的工作......我刚刚在我的 jquery 脚本之前添加了这个......它工作正常......
猜你喜欢
  • 2016-04-04
  • 2012-10-16
  • 2011-04-02
  • 1970-01-01
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 2021-11-09
  • 1970-01-01
相关资源
最近更新 更多