Uncaught ReferenceError: $не определен?
Как этот код выдает
Неподготовлено ReferenceError: $не определено
когда это было ОК до?
$(document).ready(function() {
$('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
$('#featuredvid > ul').tabs();
});
Результаты на вкладках больше не закрываются.
jQuery ссылается в заголовке:
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>
Ответы
Ответ 1
Сначала вы должны поместить ссылки на сценарии jquery.
<script language="JavaScript" type="text/javascript" src="/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/jquery-ui-personalized-1.5.2.packed.js"></script>
<script language="JavaScript" type="text/javascript" src="/js/sprinkle.js"></script>
Ответ 2
Вы вызываете функцию готовности до включения jQuery JavaScript. Ссылка JQuery в первую очередь.
Ответ 3
Это то, что решило это для меня. Первоначально я пошел в Google, скопировал и вставил предложенный им фрагмент кода для jQuery на их странице CDN:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Фрагмент не включает HTTP:
или HTTPS:
в атрибуте src
но мой браузер, FireFox, нуждался в нем, поэтому я изменил его на: edit: это работало и для меня с Google Chrome
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Тогда это сработало.
Ответ 4
Если ваш пользовательский script загружен до того, как плагин jQuery будет загружен в браузер, тогда может возникнуть такая проблема. Таким образом, всегда сохраняйте свой собственный код JavaScript или jQuery после вызова плагина jQuery, поэтому решение для этого:
Сначала добавьте ссылку на файл jQuery, размещенный в GoogleApis, или локальный файл jQuery, который вы скачаете с http://jquery.com/download/ и размещаете на своем сервере:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
или любой плагин для jQuery. Затем разместите свою собственную ссылку или код файла script:
<script src="js/custom.js" type="text/javascript"></script>
Ответ 5
В моем случае я помещал свой файл .js
перед ссылкой jQuery script, поместив файл .js
после того, как ссылка jQuery script решила мою проблему.
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="exponential.js"></script>
Ответ 6
Хорошо, моя проблема была другой: она была Document Security в Chrome.
Глядя на ответы здесь, было очевидно, что я как-то не загружал файлы jquery перед вызовом функций $(document).ready()
и т.д. Однако все они были в правильных положениях.
В моем случае это произошло из-за того, что я обращался к контенту через безопасное соединение HTTPS, тогда как страница пыталась загрузить данные, размещенные на CDN, из Google и т.д. Решение заключалось в их локальном хранении, а затем чем от CDN каждый раз.
Изменить: Другой способ сделать это - связать со всеми материалами, размещенными на CDN, как https://, а не http://- тогда модель не жалуется.
Ответ 7
Добавьте библиотеку перед запуском script. Вы можете добавить любой из следующих ниже CDN, чтобы запустить его.
Google
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
Microsoft
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
Jquery
Если вы хотите, чтобы любая другая версия JQuery cdn проверила эту ссылку .
После этого:
<script type="text/javascript">
$(function(){
//your stuff
});
or
$(document).ready(function(){
//your stuff
});
</script>
Wordpress:
<script type="text/javascript">
var $ = jQuery;
jQuery(document).ready(function($){
//your stuff
});
</script>
Ответ 8
Если в wordpress может потребоваться изменить
$(document).ready(function() {
к
jQuery(document).ready(function($){
или добавить
var $ = jQuery;
перед
$(document).ready(function() {
Ответ 9
У меня была точно такая же проблема, и ни одно из этих решений не помогло. однако я только что связал файлы .css
после файлов .js
и проблема чудесным образом исчезла. Надеюсь это поможет.
Ответ 10
В моем случае у меня было это referenceError, поскольку порядок вызовов script был неправильным. Решено, что, изменив порядок:
<script src="js/index.js"></script>
<script src="js/jquery-1.10.2.js"></script>
к
<script src="js/jquery-1.10.2.js"></script>
<script src="js/index.js"></script>
Ответ 11
Я хотел попробовать сделать мой скрипт асинхронным. Затем я забыл об этом, и когда я начал работу, файл [custom].js загружался только в 50% случаев до jQuery.js.
Итак, я изменился
<script async src="js/script.js"></script>
в
<script src="js/script.js"></script>
Ответ 12
Если вы делаете это в .Net и имеете правильный файл script, и вы, jQuery, выглядите отлично, убедитесь, что ваши пользователи имеют доступ к файлу script. Проект, над которым я работал (коллега), имел свой web.config, запрещающий доступ к анонимным пользователям. Страница, над которой я работал, была доступна анонимным пользователям, поэтому они не имели доступа к файлу script. Выбросили в web.config следующее: все было в мире:
<location path="Scripts">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Ответ 13
В моем случае это была опечатка, я забыл обратную косую черту и неправильно ссылался на источник.
До src="/scripts/jquery.js"
После src="scripts/jquery.js"
Ответ 14
Исходный файл jquery-1.2.6.min.js
не называется командой jQuery $()
выполняется раньше <..src='jquery-1.2.6.min.js'>
.
Сначала запустите <.. src="/js/jquery-1.2.6.min.js..">
и убедитесь, что путь src прав, затем выполните команду jquery
$(document).ready(function()
Ответ 15
Это случилось со мной раньше.
Причина в том, что я подключаю android к веб-просмотру с помощью JS. И я отправил параметр без кавычек.
js.sayHello(hello);
и когда я изменил его на
js.sayHello('hello');
он работал.
Ответ 16
У меня была та же проблема, и я решил, поместив jQuery на вершину всех кодов JavaScript, которые есть в моем коде.
Что-то вроде этого:
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="js/app.js" type="text/javascript"></script>
<script src="js/form.js" type="text/javascript"></script>
<script src="js/create.js" type="text/javascript"></script>
<script src="js/tween.js" type="text/javascript"></script>
Надежда может помочь кому-то в будущем.
Ответ 17
Ваш файл JavaScript отсутствует, поэтому произошла ошибка. Просто добавьте файл JavaScript внутри тега <head>
. См. Пример:
<script src="js/sample.js" type="text/javascript"></script>
<link href="css/sample.css" rel="stylesheet" type="text/css" />
или добавьте следующий код в тег:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Ответ 18
Ошибка будет происходить и в следующих двух сценариях.
- Элемент сценария @section отсутствует в файле HTML
- Ошибка при доступе к элементам DOM. Например, доступ к элементу DOM упоминается как $( "js-toggle" ) вместо $( ". Js-toggle" ). Фактически этот период отсутствует
Итак, 3 вещи, которые необходимо соблюдать, - добавьте необходимые скрипты, проверьте, добавлены ли они в требуемом порядке и третья синтаксическая ошибка в вашей Java Script.
Ответ 19
Doh! У меня были смешанные кавычки в моих тегах, которые приводили к разрыву ссылки на jquery. Выполнение проверки в Chrome позволило мне увидеть, что файл не был правильно связан.
Ответ 20
В моем случае я забыл включить это:
<script src ="jquery-2.1.1.js"></script>
Раньше я включал только jquery-mobile, который вызывал эту ошибку.
Ответ 21
Я изменил тег script, чтобы он указывал на правильный контент, и изменил порядок сценариев, чтобы он был правильным в редакторе. Но совершенно забыл сохранить изменения.
Ответ 22
Вы вызываете функцию ready()
до включения jQuery JavaScript. Ссылка JQuery в первую очередь.
Если вы находитесь в ASP.NET MVC, вы можете указать, когда должен отображаться код JS, выполнив следующее:
1. В вашем page.cshtml
оберните <script>
в раздел и page.cshtml
ему имя, обычно используемое имя - "scripts":
@section scripts {
<script>
// JS code...
</script>
}
2. На своей странице _Layout.cshtml
добавьте @RenderSection("Scripts", required: false)
, убедитесь, что поставили его после ссылки на источник Jquery, это сделает ваш код JS визуализированным позже, чем Jquery.
Ответ 23
У меня была аналогичная проблема, и это было из-за того, что мне не хватало закрытия > на ссылке в стиле.
Ответ 24
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="local_xxx.js"></script>
У меня есть аналогичная проблема, и вы знаете, что из-за того, что сеть отключена, когда я тестирую веб-представление устройства Android, и я этого не понимаю, а локальные js не представляют проблемы, потому что ему не нужна сеть. Это кажется смешным, но он тратит около 1 часа, чтобы понять это.
Ответ 25
Странно, моя проблема исходила из PHP.
Ошибка API REST API была неудачной, и впоследствии она прерывала загрузку библиотек. Поскольку сбой произошел от вызова REST, он не дал мне ошибку компиляции php.
Удерживайте это как параметр, если загрузка jquery выглядит нормально.
Ответ 26
У меня была эта проблема, когда я просматривал интернет через свою мобильную точку доступа. он также сжимал изображения и добавил следующий script в нижней части тега body
<script language="javascript"><!--
bmi_SafeAddOnload(bmi_load,"bmi_orig_img");//-->
</script>
Когда я подключился к соответствующему Wi-Fi-соединению, все, похоже, найдет для меня работу. Надеюсь, что это поможет кому-то.
Ответ 27
У меня была аналогичная проблема. Мой тестовый сервер отлично работал с "http". Однако это не удалось в производстве с SSL.
Таким образом, в производстве я добавил "HTPPS" вместо "HTTP" и в тесте, я сохранил его как "HTTP".
Тест:
wp_register_script ('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', array(), null, false);
wp_register_script ('custom- script', plugins_url ('/js/custom.js', FILE), массив ('jquery'));
Производство:
wp_register_script ('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', array(), null, false);
wp_register_script ('custom- script', plugins_url ('/js/custom.js', FILE), массив ('jquery'));
Надеюсь, это поможет кому-то, кто работает над wordpress.
Ответ 28
Это также может произойти, если есть проблема с сетью. Это означает, что даже несмотря на то, что "сценарии jquery" находятся на месте и включены до использования, поскольку jquery-скрипты недоступны, во время загрузки страницы, следовательно, определения в "$" рассматриваются как "undefined ссылки".
ДЛЯ ИСПЫТАНИЙ ТЕСТ/ДЕБЮГОВ::. Вы можете попытаться получить доступ к URL-адресу "jquery- script" в браузере. Если она доступна, ваша страница должна загружаться должным образом, иначе она покажет указанную ошибку (или другие ошибки script). Пример - http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js должен быть доступен в браузере (или в контексте браузера).
У меня была аналогичная проблема, в которой я смог загрузить html-страницу (используя скрипты) в моем браузере Windows-хоста, но не смог загрузить в vm-ubuntu. Решение проблемы с сетью устраняет проблему.
Ответ 29
var $ = jQuery;
jQuery(document).ready(function($){
Ответ 30
Корневая проблема - ошибка ReferenceError
. MDN указывает, что блок try
/catch
является подходящим инструментом для работы. В моем случае я получил неперехваченную ссылочную ошибку для оплаты SDK/библиотеки. Ниже работает для меня.
try {
var stripe = Stripe('pk_test_---------');
} catch (e) {
stripe = null;
}
if(stripe){
//we are good to go now
}
Очевидно, что исправление состоит в том, чтобы загрузить любую SDK/библиотеку, например, jQuery, перед вызовом ее методов, но try
/catch
не дает вашему общему JavaScript избавиться от ошибок в случае, если вы запускаете этот общий скрипт на странице, которая не загружает какую-либо библиотеку вы используете на подмножестве страниц.