Я получаю следующую ошибку от jQuery, как только она была обновлена до v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Любая идея почему?
Я получаю следующую ошибку от jQuery, как только она была обновлена до v3.0.0
.
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
Любая идея почему?
Ответы:
Обновите весь свой код, который вызывает load
функцию как,
$(window).load(function() { ... });
к
$(window).on('load', function() { ... });
jquery.js: 9612 Uncaught TypeError: url.indexOf не является функцией
Это сообщение об ошибке исходит от jQuery.fn.load
функции.
Я столкнулся с той же проблемой в моем заявлении. После некоторого поиска я нашел это утверждение в блоге jQuery ,
.load, .unload и .error, устаревшие с jQuery 1.8, больше не используются . Используйте .on () для регистрации слушателей.
Я просто изменяю, как мои объекты jQuery вызывают load
функцию, как описано выше. И все работает как положено.
document.ready
функции, и он работает как шарм.
Лучший подход может быть такой, как это
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
При этом вы можете оставить прежний код без изменений. Если вы используете веб-пакет, обязательно используйте скрипт-загрузчик.
Jquery 3.0 имеет некоторые критические изменения, которые удаляют определенные методы из-за конфликтов. Ваша ошибка, скорее всего, связана с одним из этих изменений, например удалением события .load ().
Подробнее читайте в Руководстве по обновлению jQuery Core 3.0
Чтобы это исправить, вам нужно либо переписать код, чтобы он был совместим с Jquery 3.0, либо вы можете использовать плагин JQuery Migrate, который восстанавливает устаревшие и / или удаленные API и поведения.
Я столкнулся с той же ошибкой после обновления до последней версии JQuery. Поэтому я обновил файл jquery, над которым работал, как указано в предыдущем ответе, поэтому он сказал .on("load")
вместо .load()
.
Это исправление не очень стабильно, и иногда оно не работает для меня. Поэтому, чтобы решить эту проблему, вы должны обновить свой код с:
.load();
в
.trigger("load");
Я получил это исправление из следующего источника: https://github.com/stevenwanderski/bxslider-4/pull/1024