Я использовал хороший ответ @Reid , но боролся с перемещением элемента из конца массива на один шаг дальше - в начало (как в цикле). Например. ['a', 'b', 'c'] должны стать ['c', 'a', 'b'], вызвав .move (2,3)
. Я достиг этого, изменив case for new_index> = this.length.
Array.prototype.move = function (old_index, new_index) {
console.log(old_index + " " + new_index);
while (old_index < 0) {
old_index += this.length;
}
while (new_index < 0) {
new_index += this.length;
}
if (new_index >= this.length) {
new_index = new_index % this.length;
}
this.splice(new_index, 0, this.splice(old_index, 1)[0]);
return this; // for testing purposes
};
Попробуйте использовать вкладку «Net» в Firebug, чтобы увидеть, загружается ли файл.
Вы также можете настроить Firebug на сбой при всех ошибках и посмотреть, когда произойдет ошибка, по сравнению с моментом загрузки jQuery.
Чтобы добавить мою проблему / решение в этот длинный список ...
Я использовал Windows 2003 для тестирования сайта в IE7. Сайт подошел нормально, но jQuery не работал вообще. Поэтому я пошел прямо к http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js и и обнаружил, что ajax.googleapis.com не был в списке безопасных сайтов . После добавления * .googleapis.com все заработало нормально. Глупый контроль, но, возможно, это поможет кому-то еще в подобной ситуации.
Если нет никаких ошибок в Вашем JavaScript (например: недостающие скобки), тогда это или не включает файл jQuery, или Вы пытаетесь выполнить некоторый код, который полагается на jQuery, прежде чем тот файл загрузился.
Это обычно происходит, когда у Вас есть уродливый HTML или JavaScript.
Частые ошибки состоят в том, что другие Сценарии JQuery включены первые (Jquery.validation.js) перед Jquery.js
Раджа прав, работы URL.Content.
<script src="<%= Url.Content("~/Scripts/jquery-1.2.6.js")%>" type="text/javascript"></script>
Далее, для препятствования себе то, чтобы быть удивленным в данный момент Вы перемещаете свое приложение на сервер IIS, не используйте сервер веб-разработки, но используйте IIS при разработке.
можно использовать IIS непосредственно из Visual Studio путем редактирования веб-ресурсов:
Еще одна причина этой ошибки, которую я обнаружил, возникает, если вы загружаете jQuery из cdn и локальный скрипт с вашего сервера. Они загружаются независимо, поэтому, если локальный скрипт завершает работу до jQuery, он также будет выполняться раньше, что дает нам прекрасную ошибку. Это особенно важно, если jQuery отсутствует в кеше браузера, поэтому вы можете увидеть, что эта ошибка возникает при первой загрузке скриптов и исчезает позже.
Jquery
?!
Вы имеете в виду jQuery
?
JavaScript чувствителен к регистру. Jquery
не то же как jQuery
.
Вы могли также попытаться позволить Google разместить jQuery для Вас:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
Это избежит необходимости беспокойство об относительном пути к сценарию, избежит нагрузки на Ваш сервер и будет быстрее для пользователей (у кого, вероятно, уже есть он в кэше их браузера где-нибудь).
После использования FIrebug я обнаружил, что файлы не найдены, так как относительный путь к файлам не работает. Чтобы решить проблему, мы должны использовать метод Url.Content, чтобы пересоздать путь. Например:
<script src="<%= Url.Content("~/Scripts/jquery-1.2.6.js")%>" type="text/javascript"></script>
Для меня эта ошибка обычно возникает, когда в моем коде присутствует истинная ошибка Javascript. Это предотвращает полный анализ файла jQuery.js. Посмотрите в консоли ошибок в Firebug, Safari или другом дружественном к отладке браузере.
попробовать
<script src="<%= ResolveUrl("~/Scripts/jquery-1.2.6.js")%>" type="text/javascript"></script>
Если все остальное перестало работать, удостоверьтесь, что файлу установили правильные полномочия. Это просто произошло со мной!
Можно или щелкнуть правой кнопкой по файлу в каталоге и установить разрешение там, или просто создать другой .js файл в Visual Studio и скопировать и вставить содержание. Обработанный как очарование.:)
0 Не знаю, нашли ли вы решение своей проблемы или нет. Я столкнулся с той же проблемой и сходил с ума, пытаясь понять, почему я получаю ошибку «jQuery is undefined» в плагинах, которые я использую. Я перепробовал все решения, которые я получил из Интернета, но безуспешно.
Но внезапно что-то всплывает у меня в голове, что может быть файлы сценариев должны быть в порядке. Итак, я переместил ссылку jquery на первую позицию, и все начало работать как шарм.
Помните, ребята, если вы используете какие-либо плагины с jquery, убедитесь, что вы используете следующий порядок установки ссылки на эти поля.
например:
Всегда проверяйте, что вы должны помещать ссылку jquery в первую, а затем в последующие библиотеки.
Надеюсь, это решит вашу проблему, особенно при использовании с MasterPages. Очень странно, что он работает независимо от того, какой порядок вы используете, когда вы не используете MasterPages, но когда вы это делаете, он каким-то образом требует правильного порядка.
Удачи и удачного кодирования,
Винсент Д'Суза
type = "text / javascript" ...Всегда проверяйте, что вы должны помещать ссылку jquery в первую, а затем в последующие библиотеки.
Надеюсь, это решит вашу проблему, особенно при использовании с MasterPages. Очень странно, что он работает независимо от того, какой порядок вы используете, когда вы не используете MasterPages, но когда вы это делаете, он каким-то образом требует правильного порядка.
Удачи и удачного кодирования,
Винсент Д'Суза
Чтобы уточнить ответ "текст / javascript", "приложение / javascript" будет работать в firefox и нормально загружать jQuery. Однако он не загрузит файл в IE. Используйте «текст / javascript»:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></script>