Синхронный XMLHttpRequest в основной теме устарел

Почему это сообщение неожиданно появилось в консоли Firefox?

Я использую JQuery 1.7.1.

Что в моем приложении можно было сделать, что вызвало появление этого сообщения?

Ответ 1

Использование jQuery для добавления тега script к документу приведет к загрузке script с помощью async: false и вызовом этого предупреждения.

Как в:

var script = $("<script></script>");
script.attr("src", player.basepath + "whatever.js");
$(document.body).append(script);

Ответ 2

У вас есть код, выполняющий синхронный XHR/Ajax, т.е. запросы Ajax, которые блокируются до тех пор, пока они не будут завершены.

При использовании jQuery вы сделаете это, указав async: false в объекте настроек jQuery.ajax().

Решение состоит в том, чтобы реорганизовать любой из ваших кодов, выполняющих синхронные запросы, т.е. убить все экземпляры jQuery.ajax({async: false}) и вспомогательные функции, а также xhr.open(..., false), включить код в сторонние библиотеки, которые вы можете использовать. Кроме того, поскольку jQuery 1.7.1 довольно устарел по стандартам Интернета, я не уверен, что в некоторых случаях эта версия jQuery по-прежнему выполняет внутренние запросы синхронизации, вам также придется проверить это и обновить jQuery, если это так.