为什么此消息突然开始出现在Firefox控制台中?
我正在使用JQuery 1.7.1。
我的应用程序中可以做什么导致此消息开始出现?
答案 0 :(得分:39)
使用jQuery将脚本标记附加到文档将导致它使用async:false加载脚本并触发此警告。
如:
var script = $("<script></script>");
script.attr("src", player.basepath + "whatever.js");
$(document.body).append(script);
答案 1 :(得分:15)
您有代码执行同步XHR / Ajax,即在完成之前阻塞的Ajax请求。
使用jQuery时,您可以通过在async: false
的设置对象中指定jQuery.ajax()
来执行此操作。
解决方案是重构执行同步请求的任何代码,即杀死所有jQuery.ajax({async: false})
和辅助函数的实例,以及xhr.open(..., false)
,包括您可能使用的第三方库中的代码。此外,由于jQuery 1.7.1在Web标准上相当陈旧,我不确定在某些情况下jQuery版本是否仍然执行内部同步请求,您还必须检查它并升级jQuery(如果是这样)。