Я тоже столкнулся с этой проблемой. Эта проблема возникает только для версии зависимости ограничений ограничения . Использовать 1.1.3
версию & amp; надеюсь, что ваша проблема будет решена:
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
Если вы оставите вызовы console.log () в производственном коде, то люди, посещающие сайт с помощью Internet Explorer, будут иметь ошибки JavaScript. Если у этих людей настроены дополнительные инструменты отладки, они увидят неприятные диалоговые окна или всплывающие окна.
Быстрый поиск показал эту ветку, в которой обсуждаются методы определения наличия консоли Firebug: http://www.nabble.com /Re:-detect-firebug-existance-td19610337.html
был укушен этим раньше. В идеале все операторы console.log должны быть удалены перед производством, но это подвержено ошибкам, и разработчики неизменно забывают или тестируют только в FF + Firebug.
Возможное решение - создать фиктивный объект консоли, если он еще не
if( typeof window.console == 'undefined'){
window.console = {
log:function(){}
};
}
Одно предупреждение: раньше для Safari в версии 10.4 любой вызов console.log вызывал исключение безопасности, поскольку объект консоли - зарезервированный объект, используемый в виджетах панели инструментов Mac OS. Не уверен, что это так, проверю сегодня вечером.
У меня было много головной боли из-за этого.
Я много использую console.log () и до недавнего времени обнаружил, что это приведет к сбою всего JS-кода в версиях FF, не использующего firebug.
Я обычно запускаю находку перед запуском и комментирую ее.
D
Просто подумал, что добавлю действительно хороший совет для любой отладки js .... используйте ключевое слово "отладчик", и это похоже на точку останова в коде, firebug обнаруживает его также MSIE (если у вас есть Visual Studio) обнаруживает это и, как я уже сказал, это точка останова.
Не многие люди, кажется, знают об этом, но я считаю это бесценным ... также, если на машине, на которой выполняется код, не установлен отладчик, ничего не происходит, и код проходит нормально. Хотя я бы не советовал оставлять их там.
Лично я недавно модифицировал свой компрессор, чтобы вырезать ссылки на консоль перед сжатием. Добавление регулярного выражения за несколько минут избавит вас от лишних хлопот.
Некоторые компрессоры удаляют все строки с префиксом ;;; (что является законной последовательностью, состоящей из трех пустых операторов.) Таким образом, вы не строго ограничены ссылками на консоль (т.е. вы можете выполнить некоторые вычисления, а затем console.log () результат в конце, а компрессор может удалите их все). Для этого я использую JavaScript :: Minifier .
Я использую это в ООП Javascript, создавая свою собственную оболочку для журнала, которая проверяет наличие firebug:
myclass.prototype.log = function()
{
if( typeof window.console != 'undefined' )
{
console.log.apply( null, arguments );
}
}
Просто позвоните:
this.log( arg1, arg2, ...)
Просто напоминаю, что IE Dev Tool не поддерживает функцию apply() на console.log.
Вызов console.log.apply() вызовет исключение в IE8, когда инструмент dev активен.
Вы можете попробовать Отладка JavaScript , это простая оболочка для console.log http://benalman.com/projects/javascript-debug-console-log/