Загрузочный бросает непойманные ошибка: JavaScript и прихлоп это требует jQuery [закрыт]
Я пытаюсь использовать Bootstrap, чтобы сделать интерфейс для программы. Я добавил jQuery 1.11.0 в <head> tag и думал, что это так, но когда я запускаю веб-страницу в браузере jQuery сообщает об ошибке:
Uncaught Error: Bootstrap's JavaScript requires jQuery
Я пробовал использовать jQuery 1.9.0, я пробовал с копиями, размещенными на нескольких CDNs, но я не могу заставить его работать. Кто-нибудь может указать, что я делаю неправильно?
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>
официальные документы: 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-код
после борьбы с этой проблемой я сделал три шага:
- используйте версии jQuery в любом месте между 1.9.0 и 3.0.0
- объявите файл jQuery перед объявлением файла начальной загрузки
- объявите эти два файла сценария в нижней части
<body></body>теги вместо<head></head>. Они работали для меня, но там могут быть различные поведения, основанные на браузере, который вы используете.

Comments