Uncaught TypeError: не удается прочитать свойство "msie" неопределенных инструментов-jQuery
Я получаю следующую ошибку в консоли Chrome dev:
Uncaught TypeError: Cannot read property 'msie' of undefined
Я понимаю, что это потому что .browser
теперь устарел в jQuery, однако я использую последнюю версию инструментов jQuery, и он все еще дает ошибку, я проверил в js
файл, и он есть.
как я могу обойти это, чтобы он не дал ошибку?
10 ответов
на $.browser
метод был удален с jQuery 1.9.
на
jQuery.browser()
метод устарел с jQuery 1.3 и удаляется в 1.9. при необходимости он доступен как часть плагина jQuery Migrate. мы рекомендуем использовать функцию обнаружения с библиотекой, такой как Modernizr.
как заявил в руководстве по обновлению вы можете попробовать использовать в jQuery перенести плагин чтобы восстановить эту функциональность и позволить инструментам jQuery работать.
вы можете проверить это решение AJ. Это довольно просто, Просто скопируйте и вставьте следующие строки кода.
jQuery.browser = {};
(function () {
jQuery.browser.msie = false;
jQuery.browser.version = 0;
if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) {
jQuery.browser.msie = true;
jQuery.browser.version = RegExp.;
}
})();
ссылка:
используйте следующий тег скрипта в файле jsp/js:
<script src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>
это будет работать точно.
Я использую ниже код после включения файла js, и он работает сейчас.
<script src="js/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.browser = {};
(function () {
jQuery.browser.msie = false;
jQuery.browser.version = 0;
if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) {
jQuery.browser.msie = true;
jQuery.browser.version = RegExp.;
}
})();
</script>
вот ошибка инструментов jQuery на GitHub. Вы можете попробовать один из патчей.
редактировать - мне не кажется, что инструменты jQuery получают большую поддержку. Я лично не стал бы начинать новый проект с зависимостью от этой библиотеки, если бы не был готов взять на себя поддержку.
замените JS на
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
источник ссылке
поскольку я не планирую поддерживать старые версии MS IE вообще, я просто заменил все ссылки на browser.msie
с false
.
Не очень хорошее решение, я знаю, но оно работает на меня.
(на самом деле, они появились как !browser.msie
, которые могут быть опущены из условий.)
использовать как удар
$(function (a) {
. . . . .тогда в вашей функции вы можете использовать свойство msie как
if (a.browser.msie)
{
}
else
{
$(settings.current).after(Uploadelement);
}
goodluck
использовать как удар
Я использую эту команду и решить
"Uncaught TypeError: не удается прочитать свойство "msie" неопределенного " Error
if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
return;
}
Я получал эту ошибку при использовании jQuery 1.10 и jQuery UI 1.8. Я смог устранить эту ошибку, обновив до последней версии jQuery UI 1.11.4.
шаги по обновлению пользовательского интерфейса JQuery из Visual Studio:
- перейдите к проекту или решению
- щелкните правой кнопкой мыши: "Управление пакетами NuGet"
- слева нажмите на вкладку "Установленные пакеты"
- найдите "jQuery UI (Объединенная библиотека)" и нажмите Update
- если нашли, Выберите его и нажмите Update
- если не найдено, найдите его в "Online > nuget.org" вкладка слева и нажмите кнопку Установить. Если старая версия jQuery UI version все еще существует, ее можно удалить из проекта