IE Останавливает выполнение скрипта, используя ссылку на console.log / error / warn / info - PullRequest
0 голосов
/ 19 февраля 2020

Если вы получаете ссылку на одну из функций console.log (console.error console.warn console.info) в IE 11 и пытаетесь вызвать ее, она взрывается и останавливает выполнение скрипта , если нет используя инструменты разработчика F12 .

const logFunc = console.log;
logFunc('do some logging'); <-- stops executing further scripts here

Если у вас есть инструменты разработки, они работают нормально. Таким образом, единственный способ отладки - это устаревший метод оповещения.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Причина, по которой он не работает, заключается в том,

Начиная с версии 10, Inte rnet Explorer всегда имеет консольный объект. Если инструменты разработчика закрыты, вызовы объекта консоли просто игнорируются.

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

Ссылка:

Console.log Сюрпризы с Inte rnet Explorer 11 и Edge

0 голосов
/ 19 февраля 2020

IE необходимо выполнить некоторые оптимизации, когда вы выполняете вызовы функций журнала консоли, когда не используете их инструменты разработки. Но вы можете вызывать их напрямую в порядке, и это не остановит выполнение:

console.log('log the thing');

Но если вы получите ссылку, произойдет сбой. Поэтому обходной путь - не использовать ссылки на эти функции и всегда вызывать их напрямую. Вы можете создавать функции-оболочки, которые делают это.

...