Как этот код выдает
Неподготовлено 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>
Сначала вы должны поместить ссылки на сценарии 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>
Вы вызываете функцию готовности до включения jQuery JavaScript. Ссылка JQuery в первую очередь.
Это то, что решило это для меня. Первоначально я пошел в 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>
Тогда это сработало.
file://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
и вы удивляетесь, почему он не отображается в сетевой консоли.
Если ваш пользовательский 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>
If your custom script is loaded before the jQuery plugin is loaded to the browser then this type of problem may occur
это идеальный ответ .. в моем случае скрипт был в нижнем колонтитуле
В моем случае я помещал свой файл .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>
Хорошо, моя проблема была другой: она была Document Security в Chrome.
Глядя на ответы здесь, было очевидно, что я как-то не загружал файлы jquery перед вызовом функций $(document).ready()
и т.д. Однако все они были в правильных положениях.
В моем случае это произошло из-за того, что я обращался к контенту через безопасное соединение HTTPS, тогда как страница пыталась загрузить данные, размещенные на CDN, из Google и т.д. Решение заключалось в их локальном хранении, а затем чем от CDN каждый раз.
Изменить: Другой способ сделать это - связать со всеми материалами, размещенными на CDN, как https://, а не http://- тогда модель не жалуется.
Добавьте библиотеку перед запуском script. Вы можете добавить любой из следующих ниже CDN, чтобы запустить его.
<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>
Если в wordpress может потребоваться изменить
$(document).ready(function() {
к
jQuery(document).ready(function($){
или добавить
var $ = jQuery;
перед
$(document).ready(function() {
В моем случае у меня было это 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>
У меня была точно такая же проблема, и ни одно из этих решений не помогло. однако я только что связал файлы .css
после файлов .js
и проблема чудесным образом исчезла. Надеюсь это поможет.
Я, пожалуй, единственный человек, у которого была моя проблема, но я все равно отказался. Я хотел попытаться сделать мой script асинхронный только для удовольствия. Тогда я забыл об этом, и когда я вышел в прямом эфире, [custom].js файл загружался только 50% времени перед jQuery.js.
Итак, я изменил
<script async src="js/script.js"></script>
to
<script src="js/script.js"></script>
:)
Если вы делаете это в .Net и имеете правильный файл script, и вы, jQuery, выглядите отлично, убедитесь, что ваши пользователи имеют доступ к файлу script. Проект, над которым я работал (коллега), имел свой web.config, запрещающий доступ к анонимным пользователям. Страница, над которой я работал, была доступна анонимным пользователям, поэтому они не имели доступа к файлу script. Выбросили в web.config следующее: все было в мире:
<location path="Scripts">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Это случилось со мной раньше.
Причина в том, что я подключаю android к веб-просмотру с помощью JS. И я отправил параметр без кавычек.
js.sayHello(hello);
и когда я изменил его на
js.sayHello('hello');
он работал.
Исходный файл 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()
Ошибка будет происходить и в следующих двух сценариях.
Итак, 3 вещи, которые необходимо соблюдать, - добавьте необходимые скрипты, проверьте, добавлены ли они в требуемом порядке и третья синтаксическая ошибка в вашей Java Script.
Ваш файл 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>
В моем случае это была опечатка, я забыл обратную косую черту и неправильно ссылался на источник.
До src="/scripts/jquery.js"
После src="scripts/jquery.js"
Хорошо, я признаю, что это была действительно глупая вещь, которая когда-то случалась мне. Я изменил тег script, чтобы указать на нужное содержимое и изменил порядок script как правильный в редакторе... но полностью забыл сохранить изменения; (Вы можете смеяться сейчас, но когда вы устали могут возникнуть всевозможные странные проблемы. I
В моем случае я забыл включить это:
<script src ="jquery-2.1.1.js"></script>
Раньше я включал только jquery-mobile, который вызывал эту ошибку.
Doh! У меня были смешанные кавычки в моих тегах, которые приводили к разрыву ссылки на jquery. Выполнение проверки в Chrome позволило мне увидеть, что файл не был правильно связан.
<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 часа, чтобы понять это.
У меня была аналогичная проблема, и это было из-за того, что мне не хватало закрытия > на ссылке в стиле.
Вы вызываете функцию готовности до включения jQuery JavaScript. Ссылка JQuery в первую очередь.
Если вы находитесь в ASP.NET MVC, вы можете указать, когда должен отображаться ваш код JS, выполнив следующее:
1. В вашем page.cshtml
оберните page.cshtml
<script>
в раздел и дайте ему имя, общее имя для использования - 'scripts':
@section scripts {
<script>
// JS code...
</script>
}
2. На своей странице _Layout.cshtml
добавьте @RenderSection("Scripts", required: false)
, убедитесь, что поставили его после ссылки на источник Jquery, это сделает ваш код JS визуализированным позже, чем Jquery.
У меня была та же проблема, и я решил, поместив 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>
Надежда может помочь кому-то в будущем.
var $ = jQuery;
jQuery(document).ready(function($){
Wordpress
вы должны упомянуть об этом.
Это также может произойти, если есть проблема с сетью. Это означает, что даже несмотря на то, что "сценарии jquery" находятся на месте и включены до использования, поскольку jquery-скрипты недоступны, во время загрузки страницы, следовательно, определения в "$" рассматриваются как "undefined ссылки".
ДЛЯ ИСПЫТАНИЙ ТЕСТ/ДЕБЮГОВ::. Вы можете попытаться получить доступ к URL-адресу "jquery- script" в браузере. Если она доступна, ваша страница должна загружаться должным образом, иначе она покажет указанную ошибку (или другие ошибки script). Пример - http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js должен быть доступен в браузере (или в контексте браузера).
У меня была аналогичная проблема, в которой я смог загрузить html-страницу (используя скрипты) в моем браузере Windows-хоста, но не смог загрузить в vm-ubuntu. Решение проблемы с сетью устраняет проблему.
У меня была аналогичная проблема. Мой тестовый сервер отлично работал с "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.
У меня была эта проблема, когда я просматривал интернет через свою мобильную точку доступа. он также сжимал изображения и добавил следующий script в нижней части тега body
<script language="javascript"><!--
bmi_SafeAddOnload(bmi_load,"bmi_orig_img");//-->
</script>
Когда я подключился к соответствующему Wi-Fi-соединению, все, похоже, найдет для меня работу. Надеюсь, что это поможет кому-то.
Странно, моя проблема исходила из PHP.
Ошибка API REST API была неудачной, и впоследствии она прерывала загрузку библиотек. Поскольку сбой произошел от вызова REST, он не дал мне ошибку компиляции php.
Удерживайте это как параметр, если загрузка jquery выглядит нормально.
Вы не ссылались на библиотеку jQuery.
Вам нужно будет включить строку, похожую на эту в вашем HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
Корневая проблема - ошибка 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 избавиться от ошибок в случае, если вы запускаете этот общий скрипт на странице, которая не загружает какую-либо библиотеку вы используете на подмножестве страниц.
Вот худший случай:
Все казалось идеальным. Проведя пару часов, я понял, что файл jquery, который добавлен в правильную позицию, был фактически файлом с пустым контентом!
$(document).ready(function() {
$.getJSON("<?php echo site_url('cadmin/survey/chart_survey_assisten'); ?>", function (json) {
var acctregs = new Morris.Donut({
// ID of the element in which to draw the chart.
element: 'hadir-chart-bar-assisten',
// Chart data records -- each entry in this array corresponds to a point on
// the chart.
data: json,
xkey: 'label',
ykeys: ['value'],
labels: ['Nilai'],
barRatio: 0.4,
xLabelAngle: 35,
hideHover: 'auto',
resize: true
});
});
});
Вам нужно сначала вызвать jquery, а затем вызвать javascript, поскольку java script зависит от jquery, поэтому он должен быть загружен перед javascript, и это решило мою проблему.
Укусил это еще раз, отсутствующие ссылки источника библиотеки. Google Hosted Libraries Похожие ссылки
У меня была эта проблема в Fireox, и она была решена после того, как я изменил имя js файла jQuery, от jquery_1.7.js
в jquery1_7.js
. Таким образом, я добавляю только одну точку перед расширением.