Загрузочный бросает непойманные ошибка: JavaScript и прихлоп это требует jQuery [закрыт]



Я пытаюсь использовать Bootstrap, чтобы сделать интерфейс для программы. Я добавил jQuery 1.11.0 в <head> tag и думал, что это так, но когда я запускаю веб-страницу в браузере jQuery сообщает об ошибке:



Uncaught Error: Bootstrap's JavaScript requires jQuery


Я пробовал использовать jQuery 1.9.0, я пробовал с копиями, размещенными на нескольких CDNs, но я не могу заставить его работать. Кто-нибудь может указать, что я делаю неправильно?

695   14  

14 ответов:

попробуй такое

изменить порядок файлов он должен быть, как показано ниже..

<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/wow.min.js"></script>

если вы среда только для браузера используйте @SridharR'ы.

если вы Node / CommonJS + Browser environment (например, electron, node-webkit и др..); причина этой ошибки заключается в том, что логика экспорта jQuery сначала проверяет module, а не window:

if (typeof module === "object" && typeof module.exports === "object") {
    // CommonJS/Node
} else {
    // window
}

обратите внимание, что он экспортирует себя через module.exports в данном случае; так jQuery и $ не назначаются window.

так чтобы решить эту проблему, вместо <script src="path/to/jquery.js"></script>;

просто назначьте его себе require о себе:

<script>
    window.jQuery = window.$ = require('jquery');
</script>

Примечание: Если ваш электронный приложение не нужно nodeIntegration, установить false так что вам не нужно это решение.

вы должны сначала загрузить jquery, потому что bootstrap использует функции jquery. вот так:

<!doctype html>
<html>
    <head>
        <link type="text/css" rel="stylesheet" src="css/animate.css">
        <link type="text/css" rel="stylesheet" src="css/bootstrap-theme.min.css">
        <link type="text/css" rel="stylesheet" src="css/bootstrap.min.css">
        <link type="text/css" rel="stylesheet" href="css/custom.css">

<!--   Shuffle your scripts HERE  -->
        <script src="js/jquery-1.11.0.min.js"></script>
        <script src="js/bootstrap.min.js"></script>
        <script src="js/wow.min.js"></script>
<!--   End  -->   

        <title>pyMeLy Interface</title>
    </head>
    <body>
        <p class="title1"><strong>pyMeLy</strong></p>
        <p class="title2"><em> A stylish way to view your media</em></p>
        <div style="text-align:center;">
            <button type="button" class="btn btn-primary">Movies</button>
            <button type="button" class="btn btn-primary btn-lg">Large button</button>
        </div>
    </body>
</html>

вам нужно добавить JQuery перед добавлением bootstrap -

<!-- JQuery Core JavaScript -->
<script src="lib/js/jquery.min.js"></script>

<!-- Bootstrap Core JavaScript -->
<script src="lib/js/bootstrap.min.js"></script>

вы предоставили неверный порядок для JAVASCRIPT и BOOTSTRAP

по соглашению bootstrap должен следовать определению файла jquery

<!-- JQuery Core JavaScript -->
<script src="lib/js/jquery.min.js"></script>
<script src="lib/js/jquery-ui.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="lib/js/bootstrap.min.js"></script>

в моем случае решение действительно глупо и странно.

ниже код был предварительно заполнен _Layout.cshtml файл. (Не написано мной)

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>

но, когда я проверил в папке Scripts, jquery-1.10.2.минута.js даже не был доступен. Следовательно, заменен код, как показано ниже, где jquery-1.9.1.минута.JS-это существующий файл:

<script src="~/Scripts/jquery-1.9.1.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>

Я использую NodeJS и получил ту же ошибку. Как и другие ответы, проблема заключалась также в том, что JQuery необходимо было загрузить перед загрузкой; однако из-за характеристик NodeJS это изменение должно было быть применено в .js file.

изменение в конвейере.js было так:

var jsFilesToInject = [
  // Dependencies like jQuery, or Angular are brought in here
  'js/dependencies/angular.1.3.js',
  'js/dependencies/jquery.js',
  'js/dependencies/bootstrap.js',
  'js/dependencies/**/*.js',
];

Я также использую grunt, чтобы помочь, и он автоматически изменил порядок на главной странице html:

<!--SCRIPTS-->
  <script src="/js/dependencies/angular.1.3.js"></script>
  <script src="/js/dependencies/jquery.js"></script>
  <script src="/js/dependencies/bootstrap.js"></script>
  <!-- other dependencies -->
<!--SCRIPTS END-->

надеюсь, что это помогает! Вы не сказал, что ваше окружение было, поэтому я решил опубликовать этот ответ.

если вы используете require.js чем нужно добавить window.$ = window.jQuery = require('jquery') в приложение.js

или вы можете сделать зависимую загрузку файла после загрузки родительского файла.. например, ниже концепции

require.config({
    baseUrl: "scripts/appScript",
    paths: {
        'jquery':'jQuery/jquery.min',
        'bootstrap':'bootstrap/bootstrap.min' 
    },
   shim
    shim: {
        'bootstrap':['jquery'],
        },

    // kick start application
    deps: ['app']
});

код, приведенный выше, показал, что bootstrap зависит от Jquery так что я добавил в shim и сделать его иждивении

Если ваш код выглядит хорошо, убедитесь, что jQuery успешно загружен на сервер. В моем случае файлы jQuery были опубликованы на сервере моей IDE, но веб-сервер имел только заглушку файла 0 КБ. При отсутствии содержимого серверу не удалось передать файл в браузер.

после повторной публикации файла и проверки того, что сервер фактически получил весь файл, моя веб-страница перестала давать мне ошибку.

вы должны добавить jQuery и с JS, прежде чем добавлять файл начальной загрузки с JS, потому что использование Bootstrap функции jqueries. Поэтому обязательно загрузите сначала jquery js, а затем bootstap JS-файл.

<!-- JQuery Core JavaScript -->
<script src="app/js/jquery.min.js"></script>

<!-- Bootstrap Core JavaScript -->
<script src="app/js/bootstrap.min.js"></script>

Если это происходит только в интрасети IE, проверьте настройки совместимости и снимите флажок "Отображать сайты интрасети в режиме совместимости" .

IE-- > настройки-- > совместимость

enter image description here

официальные документы: https://electronjs.org/docs/faq#i-can-not-use-jqueryrequirejsmeteorangularjs-in-electron

<head>
  <script>
  window.nodeRequire = require;
  delete window.require;
  delete window.exports;
  delete window.module;
  </script>
  <script type="text/javascript" src="jquery.js"></script>
</head>

Я пробовал почти все вышеперечисленные способы.

наконец-то исправлена путем включения

script src="{%static 'App/js/jquery.js' %}"

сразу после загрузки staticfiles т. е. {% load staticfiles %} в базу.HTML-код

после борьбы с этой проблемой я сделал три шага:

  1. используйте версии jQuery в любом месте между 1.9.0 и 3.0.0
  2. объявите файл jQuery перед объявлением файла начальной загрузки
  3. объявите эти два файла сценария в нижней части <body></body> теги вместо <head></head>. Они работали для меня, но там могут быть различные поведения, основанные на браузере, который вы используете.

Comments

    Ничего не найдено.