Почему этот код
Uncaught 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?
Именно это и решило это для меня. Первоначально я пошел в Google и скопировал и вставлял их предлагаемый фрагмент для jQuery на странице CDN:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Фрагмент не включает HTTP:
или HTTPS:
в атрибуте src
но мой браузер, FireFox, нуждался в нем, поэтому я изменил его на:
<script src="http://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 src="js/custom.js" type="text/javascript"></script>
В моем случае я помещал свой .js
файл перед ссылкой сценария jQuery, поместив файл .js
после того, как ссылка jQuery скрипта решила мою проблему.
<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>
Хорошо, моя проблема была иной: в Chrome была модель безопасности документов .
Глядя на ответы здесь, было очевидно, что я как-то не загружал файлы jquery перед вызовом функций $(document).ready()
и т. Д. Однако все они были на правильных позициях.
В моем случае это было связано с тем, что я обращался к контенту через безопасное соединение HTTPS, тогда как страница пыталась загрузить размещенные на CDN данные из Google и т. Д. Решение заключалось в том, чтобы хранить их локально, а затем включать непосредственно, а не из CDN каждый раз.
Изменить : Другой способ сделать это – связать все материалы, размещенные на CDN, как https: //, а не http: // – тогда модель не жалуется.
Если это в WordPress, может потребоваться изменить
$(document).ready(function() {
в
jQuery(document).ready(function($){
или добавить
var $ = jQuery;
до
$(document).ready(function() {
У меня была такая же проблема, и ни одно из этих решений выше не помогло. однако я просто связал файлы .css после файлов .js, и проблема чудесным образом исчезла. надеюсь это поможет.
Добавьте библиотеку перед запуском скрипта. Вы можете добавить любой из этих следующих 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>
В моем случае у меня была эта ссылкаError, поскольку порядок вызовов скриптов был неправильным. Решено, что, изменив порядок:
<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>
Я, пожалуй, единственный человек, у которого была какая-то проблема, но я все равно отказался. Я хотел попытаться сделать мой скрипт асинхронным только для удовольствия. Тогда я забыл об этом, и когда я вышел вживую [пользовательский] .js-файл загружался только 50% времени перед jQuery.js.
Так я изменил
<script async src="js/script.js"></script>
в
<script src="js/script.js"></script>
🙂
Исходный файл jquery-1.2.6.min.js
не называется командой jQuery. $()
<..src='jquery-1.2.6.min.js'>
раньше, чем <..src='jquery-1.2.6.min.js'>
.
Сначала запустите <.. src="/js/jquery-1.2.6.min.js..">
и убедитесь, что путь src прав, затем выполните команду jquery
$(document).ready(function()
Если вы делаете это в .Net и правильно ссылаетесь на файл сценария, и вы отлично выглядите jQuery, убедитесь, что ваши пользователи имеют доступ к файлу скрипта. Проект, над которым я работал (коллега), имел свой web.config, запрещающий доступ к анонимным пользователям. Страница, над которой я работал, была доступна анонимным пользователям, поэтому у них не было доступа к файлу скрипта. Выпустили следующее в web.config, и все было в мире:
<location path="Scripts"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location>
Ваш файл 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>
Это случилось со мной раньше.
Причина в том, что я подключаю android к веб-просмотру с помощью JS. И я отправил параметр без кавычек.
js.sayHello(hello);
и когда я изменил его на
js.sayHello('hello');
это сработало.
В моем случае это была опечатка, я забыл обратную косую черту и неправильно ссылался на источник.
Перед src="/scripts/jquery.js"
После src="scripts/jquery.js"
Ошибка будет происходить и в следующих двух сценариях.
Итак, нужно добавить 3 вещи – проверить необходимые скрипты, проверить, добавлен ли он в требуемый порядок и третьи синтаксические ошибки в вашем скрипте Java.
Doh! У меня были смешанные кавычки в моих тегах, которые приводили к разрыву ссылки на jquery. Выполнение проверки в Chrome позволило мне увидеть, что файл не был правильно связан.
В моем случае я забыл включить это:
<script src ="jquery-2.1.1.js"></script>
Раньше я включал только jquery-mobile, который вызывал эту ошибку.
У меня была аналогичная проблема, и это было из-за того, что у меня не было закрытия> на ссылке в стиле.
Хорошо, я признаю, что это было очень глупо, что когда-то случалось. Я изменил тег сценария, чтобы указать на нужное содержимое, и изменил порядок скриптов, чтобы он был правильным в редакторе … но полностью забыл сохранить изменения; (Вы могли бы смеяться сейчас, но когда вы устали от всех странных проблемы могут случиться.
<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 часа, чтобы понять это.
Как ни странно, моя проблема исходила из PHP.
Ошибка API REST API не срабатывала, и впоследствии она прерывала загрузку библиотек. Поскольку сбой был вызван вызовом REST, он не дал мне ошибку компиляции php.
Сохраните это как опцию, если загрузка jquery выглядит нормально.
У меня была эта проблема, когда я просматривал интернет через мою мобильную точку доступа. он также сжимал изображения и добавил следующий скрипт в нижней части тега body
<script language="javascript"><!-- bmi_SafeAddOnload(bmi_load,"bmi_orig_img");//--> </script>
Когда я подключился к соответствующему Wi-Fi-соединению, все, похоже, работает для меня. Надеюсь, это поможет кому-то.
У меня была аналогичная проблема. Мой тестовый сервер отлично работал с «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.
Это также может произойти, если есть проблема с сетью. Это означает, что даже несмотря на то, что «сценарии jquery» находятся на месте и включены до использования, поскольку jquery-скрипты недоступны, во время загрузки страницы, следовательно, определения в «$» рассматриваются как «неопределенные ссылки».
ДЛЯ ИСПЫТАНИЙ / ДЕБЮГОВ ЦЕЛЕЙ :: Вы можете попытаться получить доступ к URL-адресу «jquery-script» в браузере. Если он доступен, ваша страница должна загружаться должным образом, иначе она покажет указанную ошибку (или другие ошибки, связанные с сценарием). Пример. http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js должен быть доступен в браузере (или в контексте браузера).
У меня была аналогичная проблема, в которой я смог загрузить html-страницу (используя скрипты) в моем браузере Windows-хоста, но не смог загрузить в vm-ubuntu. Решая проблему сети, проблема была решена.
var $ = jQuery; jQuery(document).ready(function($){
$(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, который добавлен в правильную позицию, был фактически файлом с пустым содержимым!
Укушенный этим еще раз, отсутствующие ссылки источника библиотеки. Google Hosted Libraries