Неподготовленная ссылочная ошибка- $ не определена [дубликат]

Поскольку в настоящее время нет доступного решения для проверки / проверки схемы в отношении другой схемы, похоже, что мы должны использовать обходные пути.

Определите, существуют ли все типы данных, определенные в схеме подмножества, и находятся в пределах (менее строгих) границ того, что определено в схема «чертежа».

Возможное решение:

  1. . Первая часть (очевидная) информация заключается в том, что Schema позволяет нам создавать экземпляры XML (что это означает даже ?! см. 2.).
  2. Еще одна часть (не столь очевидная) информации, которую мы имеем, заключается в том, что сама XML-схема может быть «экземпляром подмножества» - что я имею в виду: если вы должны были перепроектировать схемы из вашего XML-экземпляра, то у вас есть подмножество (это утверждение не всегда верно, если вы not имеете «списки» или элементы выбора или другие «ограничения», то обратная схема модифицированного подмножества будет

Итак, используя это знание, мы можем построить решение:

Создать все возможные экземпляры XML схемы подмножества ( выполнение этого шага программно может быть вызов) и проверить эти экземпляры XML на схему «плана».

Но как вы знаете, что подмножество является подмножеством схемы «плана»? Хорошо, поскольку вы создали все возможные экземпляры XML схемы подмножества, они охватывали все типы данных, которые есть в схеме подмножества. И проверка этих экземпляров XML на схему «чертежа» по сути проверяет, существуют ли типы данных, и все находится в пределах того, что определено в схеме «плана». Следовательно, определение того, что ваша схема подмножества действительно является подмножеством схемы «плана».

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

504
задан Soviut 4 September 2017 в 19:48
поделиться

30 ответов

В моем случае я забыл включить это:

 <script src ="jquery-2.1.1.js"></script>

Раньше я включал только jquery-mobile, который вызывал эту ошибку.

3
ответ дан Anand 16 August 2018 в 05:03
поделиться

Странно, моя проблема исходила из PHP.

Ошибка API REST API, и впоследствии она прерывала загрузку библиотек. Поскольку сбой был вызван вызовом REST, он не дал мне ошибку компиляции php.

Сохраните это как параметр, если загрузка jquery выглядит нормально.

1
ответ дан Aris 16 August 2018 в 05:03
поделиться

Вот худший случай:

Все казалось идеальным. Проведя пару часов, я понял, что файл jquery, который добавлен в правильную позицию, был фактически файлом с пустым контентом!

-1
ответ дан Binod 16 August 2018 в 05:03
поделиться
  • 1
    Это похоже на здравый смысл. – Sindri Þór 2 May 2016 в 12:09
  • 2
    Но это 100% неожиданная причина этой ошибки – Binod 4 May 2016 в 20:40

У меня была эта проблема, когда я просматривал интернет через мою мобильную точку доступа. он также сжимал изображения и добавлял следующий сценарий внизу тега body

<script language="javascript"><!--
bmi_SafeAddOnload(bmi_load,"bmi_orig_img");//-->
</script>

Когда я подключался к собственному Wi-Fi-соединению, все, похоже, работает для меня. Надеюсь, что это поможет кому-то.

1
ответ дан bubb 16 August 2018 в 05:03
поделиться

Вы вызываете функцию готовности перед включением jQuery JavaScript. Сначала ссылайтесь на jQuery.

167
ответ дан code forever 16 August 2018 в 05:03
поделиться
  • 1
    Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. – Ram Sharma 21 August 2015 в 12:33
  • 2
    @RamSharma На самом деле, это правильный ответ. Вам не нужно ничего другого, чтобы решить проблему. – Derek 朕會功夫 20 November 2015 в 21:21

Укушенный этим еще раз, отсутствующие ссылки источника библиотеки. Google Hosted Libraries Похожие ссылки

-1
ответ дан Community 16 August 2018 в 05:03
поделиться

Если ваш пользовательский скрипт загружен до того, как плагин 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>
41
ответ дан consuela 16 August 2018 в 05:03
поделиться
  • 1
    If your custom script is loaded before the jQuery plugin is loaded to the browser then this type of problem may occur идеальный ответ .. в моем случае скрипт был в нижнем колонтитуле – echoashu 23 November 2014 в 17:23

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

13
ответ дан crowicked 16 August 2018 в 05:03
поделиться
  • 1
    Во-первых, для лучшей производительности рендеринга страницы вы всегда должны связывать файлы CSS перед JS-файлами. Во-вторых, порядок файлов css и js не должен иметь никакого эффекта в текущей ситуации. – Uzbekjon 14 February 2013 в 11:43
  • 2
    «Что исправлено, ваша проблема не должна устранять вашу проблему, и вы не должны делать то, что исправило вашу проблему». – Andrew 21 October 2015 в 16:32

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

До src="/scripts/jquery.js"

После & nbsp; & nbsp; src="scripts/jquery.js"

4
ответ дан Dennis 16 August 2018 в 05:03
поделиться

Ваш файл 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>
4
ответ дан Gaurav Gupta 16 August 2018 в 05:03
поделиться

Хорошо, я признаю, что это была действительно тупое дело, которое когда-то случалось для меня. Я изменил тег сценария, чтобы указать на нужное содержимое, и изменил порядок скриптов, чтобы он был правильным в редакторе ... но полностью забыл сохранить изменения; (Вы могли бы смеяться сейчас, но когда вы устали от всех странных могут возникнуть проблемы. I

3
ответ дан Hexodus 16 August 2018 в 05:03
поделиться

У меня была аналогичная проблема, и это было из-за того, что мне не удалось закрыть> ссылку на таблицу стилей.

2
ответ дан jason 16 August 2018 в 05:03
поделиться
var $ = jQuery;
jQuery(document).ready(function($){
1
ответ дан Jayanit Satani 16 August 2018 в 05:03
поделиться
  • 1
    Это абсолютно не ответ. Вы должны добавить некоторые объяснения. – jml 14 April 2017 в 12:07
  • 2
    Это решение для Wordpress, вы должны упомянуть об этом. – Hexodus 2 May 2017 в 17:23
  • 3
    Ты спас свой день. Был изо всех сил старался сделать это в WordPress, и никто, но это решение работало как шарм. – rahimv 8 May 2017 в 14:19

Сначала вы должны поместить ссылки на сценарии 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>
590
ответ дан Jeremy 16 August 2018 в 05:03
поделиться
  • 1
    Просто, чтобы быть уверенным, что это ясно: вы не можете поместить ссылку на скрипт в jquery-ui перед скриптом jquery. Вот что поставило мне задачу: сначала jquery-x.x.x.min.js, затем jquery-ui-xxxxxx.js. – wdanda 19 November 2010 в 02:05
  • 2
    Спустя 2 года все еще ответ «не тикает», ) В этих статьях описывается этот и еще четыре распространенных случая, когда возникает эта ошибка. – Uzbekjon 14 February 2013 в 11:46
  • 3
    @Uzbekjon Это решило это для меня. Путь к скрипту был неправильным в one моих HTML файлов. – Adam Jensen 22 October 2014 в 06:46
  • 4
    @Jeremy, спасибо большое. Также поставьте его перед любым частичным представлением (mvc), чтобы он был доступен для любого скрипта в частичном. – Andrew Day 9 December 2016 в 18:17
  • 5
    это решение не работает – always-a-learner 9 July 2017 в 04:06

Doh! У меня были смешанные кавычки в моих тегах, которые приводили к разрыву ссылки на jquery. Выполнение проверки в Chrome позволило мне увидеть, что файл не был правильно связан.

3
ответ дан justreed 16 August 2018 в 05:03
поделиться

Добавить библиотеку перед запуском скрипта. Вы можете добавить любой из этих следующих 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>
17
ответ дан lalithkumar 16 August 2018 в 05:03
поделиться

Исходный файл 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() 
5
ответ дан Mihai Iorga 16 August 2018 в 05:03
поделиться

Это также может произойти, если есть проблема с сетью. Это означает, что даже несмотря на то, что «сценарии jquery» находятся на месте и включены до использования, поскольку jquery-скрипты недоступны, во время загрузки страницы, следовательно, определения в «$» рассматриваются как «неопределенные ссылки».

ДЛЯ НАЗНАЧЕНИЙ TEST / DEBUG :: Вы можете попытаться получить доступ к URL-адресу «jquery-script» в браузере. Если он доступен, ваша страница должна загружаться должным образом, иначе она покажет указанную ошибку (или другие ошибки, связанные с сценарием). Пример - http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js должен быть доступен в браузере (или в контексте браузера).

У меня была аналогичная проблема, в которой я смог загрузить html-страницу (используя скрипты) в моем браузере Windows-хоста, но не смог загрузить в vm-ubuntu. Решение проблемы с сетью позволило решить проблему.

1
ответ дан parasrish 16 August 2018 в 05:03
поделиться

Если вы делаете это в .Net и правильно ссылаетесь на файл сценария, и вы отлично выглядите jQuery, убедитесь, что ваши пользователи имеют доступ к файлу сценария. Проект, над которым я работал (коллега), имел свой web.config, запрещающий доступ к анонимным пользователям. Страница, над которой я работал, была доступна анонимным пользователям, поэтому у них не было доступа к файлу скрипта. Выложил следующее в web.config, и все было в мире:

  <location path="Scripts">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
6
ответ дан peroija 16 August 2018 в 05:03
поделиться

Это случилось со мной раньше.

Причина в том, что я подключаю Android к веб-просмотру с помощью JS. И я отправил параметр без кавычек.

js.sayHello(hello);

, и когда я изменил его на

js.sayHello('hello');

, он сработал.

5
ответ дан Reinherd 16 August 2018 в 05:03
поделиться
  • 1
    Я не знаю, какой параметр без кавычек означает ... похоже, что у вас была эталонная ошибка. – Aluan Haddad 18 March 2017 в 06:02
  • 2
    У меня была проблема во Фримаркере, и причина заключалась в отсутствии одинарных кавычек, поэтому значение обрабатывалось не как строка, а как переменная – torina 9 April 2018 в 17:02

Основная проблема - ReferenceError. MDN указывает , что блок try / catch является подходящим инструментом для задания. В моем случае, я получал неотображаемую ссылочную ошибку для оплаты sdk / library. Нижеследующее работает для меня.

try {
  var stripe = Stripe('pk_test_---------');
} catch (e) {
    stripe = null;
}

if(stripe){
  //we are good to go now
}

Очевидно, что исправление заключается в загрузке любого SDK / библиотеки, например. jQuery, перед вызовом его методов, но try / catch не позволяет вашему общему JavaScript блокировать ошибки, если вы запускаете этот общий скрипт на странице, которая не загружает какую-либо библиотеку, которую вы используете на подмножестве страниц.

1
ответ дан Ron Royston 16 August 2018 в 05:03
поделиться

Ошибка будет возникать и в следующих двух сценариях.

  1. Элемент сценария @section отсутствует в файле HTML
  2. Ошибка при доступе к элементам DOM. Например, доступ к элементу DOM упоминается как $ ("js-toggle") вместо $ (". Js-toggle"). Фактически, этот период отсутствует

Итак, 3 вещи, которые необходимо соблюдать, - добавляются необходимые скрипты, проверяются, добавлены ли они в требуемый порядок и третьи синтаксические ошибки в вашем Java Script.

4
ответ дан Sankar Krishnamoorthy 16 August 2018 в 05:03
поделиться
  • 1
    Да. и для атрибутов id $ ('# someDiv') – CagCak 28 April 2017 в 22:36
  • 2
    Вверх Проголосовать за указатель скриптов ASP.NET MVC @section – Nattrass 23 June 2017 в 09:57

В моем случае я помещал свой файл .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>
36
ответ дан shivam 16 August 2018 в 05:03
поделиться
  • 1
    Просто использовал это, чтобы исправить мой jschart. – indofraiser 13 February 2017 в 14:12

Я, пожалуй, единственный человек, у которого была какая-то проблема, но я все равно отказался. Я хотел попытаться сделать мой скрипт асинхронным только для удовольствия. Тогда я забыл об этом, и когда я вышел в прямом эфире, файл [custom] .js загрузился только 50% времени перед jQuery.js.

Итак, я изменил

<script async src="js/script.js"></script>

to

<script src="js/script.js"></script>

:)

10
ответ дан Sindri Þór 16 August 2018 в 05:03
поделиться

Хорошо, моя проблема была другой: в Chrome была модель Document Security.

. Внимательно изучив ответы здесь, было очевидно, что я как-то не загружал файлы jquery перед вызовом $(document).ready() и т. д. функции. Тем не менее, все они были в правильных положениях.

В моем случае это было связано с тем, что я обращался к контенту через безопасное соединение HTTPS, тогда как страница пыталась загрузить размещенные в CDN данные из Google и т. Д. Решение должно состоять в том, чтобы хранить их локально, а затем включать затем напрямую, а не из CDN каждый раз.

Изменить : Другой способ сделать это - связать со всеми CDN -hosted как https: // вместо http: // - тогда модель не жалуется.

24
ответ дан Sudipta Chatterjee 16 August 2018 в 05:03
поделиться
  • 1
    Кроме того, обратите внимание, что вы можете оставить протокол отключенным, и он выберет подходящий вариант в зависимости от контекста (предполагается, что существуют как версии http, так и https). См. stackoverflow.com/a/3622615/4332 – Adrian Mouat 13 August 2013 в 14:53
  • 2
    Ага. это решило мою проблему, я загружал скрипты из Url, как это '// cdnjs.cloudflare.com / ajax / libs / jquery / 1.12.0 / jquery.min.js'. Используя ' cdnjs ... & # 180 ; прекрасно работает – xyz 23 June 2017 в 23:53

Это то, что решило это для меня. Первоначально я отправился в 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>

Тогда он работал.

92
ответ дан the Tin Man 16 August 2018 в 05:03
поделиться
  • 1
    Строго говоря, фрагмент / пример Google верен - их атрибут src - это протокол с меньшим количеством URL-адресов, что означает, что браузер должен использовать протокол (HTTP / HTTPS) вызывающей страницы. См. paulirish.com/2010/the-protocol-relative-url . Рекомендуется избегать смешанных предупреждений о содержании, если ваша страница когда-либо обслуживается через SSL, а скрипты - нет. – pwdst 11 August 2013 в 20:04
  • 2
    Одна из распространенных проблем здесь, вероятно, заключается в том, когда URL-адреса, относящиеся к протоколу, используются во время разработки, а в солнечный день вы пытаетесь загрузить страницу из локального файла. Ваш браузер оптимистично попытается загрузить file://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js, и вам интересно, почему он не отображается в сетевой консоли. – Pieter Ennes 1 April 2014 в 16:02
  • 3
    спасибо @PieterEnnes, это было именно так для меня. Спасибо и ответчику! – jwg 19 August 2014 в 17:01

У меня была аналогичная проблема. Мой тестовый сервер отлично работал с «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), array ('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), array (' jquery '));

Надеюсь, это поможет кому-то, кто работает над wordpress.

1
ответ дан user3671115 16 August 2018 в 05:03
поделиться

Если в wordpress может потребоваться изменить

$(document).ready(function() {

на

jQuery(document).ready(function($){

или добавить

var $ = jQuery;

до

$(document).ready(function() {
18
ответ дан xoxn-- 1'w3k4n 16 August 2018 в 05:03
поделиться

В моем случае у меня была эта ссылка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>
12
ответ дан Yannis Dran 16 August 2018 в 05:03
поделиться
  • 1
    В основном это была проблема, которую я обнаружил, когда ошибка ссылки для '$' – Piccaza 9 June 2014 в 08:08
<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 часа на то, чтобы выяснить это.

2
ответ дан 林果皞 16 August 2018 в 05:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: