jquery - JavaScript console.log 导致错误 : "Synchronous XMLHttpRequest on the main thread is deprecated..."

标签 jquery debugging firefox backbone.js console.log

我一直在不使用 Firefox 调试器的情况下向控制台添加日志以检查不同变量的状态。

但是,在我的 main.js 文件中添加 console.log 的许多地方,我收到以下错误,而不是我可爱的小手写消息我自己:

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/

console.log 的替代品或包装器可以添加到我的代码使用中而不会导致此错误吗?

我“做错了”吗?

最佳答案

这件事发生在我身上,当时我很懒,并在返回的内容中包含了一个脚本标签。因此:

部分 HTML 内容:

<div> 
 SOME CONTENT HERE
</div>
<script src="/scripts/script.js"></script> 

看起来,至少在我的例子中,如果你通过 xhr 返回 HTML 内容,你将导致 jQuery 调用以获取该脚本。该调用使用异步标志 false 进行,因为它假定您需要脚本才能继续加载。

在这种情况下,您最好查看某种绑定(bind)框架并只返回一个 JSON 对象,或者根据您的后端和模板,您可以更改加载脚本的方式。

你也可以使用 jQuery's getScript()获取相关脚本。这是一个 fiddle ,它只是 jQuery 示例的直接副本,但我没有看到以这种方式加载脚本时抛出的任何警告。

示例

<script>
var url = "/scripts/script.js";
$.getScript(url);
</script>

http://jsfiddle.net/49tkL0qd/

关于jquery - JavaScript console.log 导致错误 : "Synchronous XMLHttpRequest on the main thread is deprecated...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24639335/

相关文章:

jquery - 风 sails :how to avoid same name while uploading a file

java - 我可以在 IntelliJ 中使用打印点吗

c++ - 无法在 Visual Studio 2019 中使用诊断工具

javascript - 如何在没有更改事件的情况下禁用 firefox 表单自动完成?

google-chrome - 调用 CGI 脚本时,未知用户代理在几秒钟后在 Chrome 和 Firefox 中生成重复的 GET 请求

jquery - 无法使用 Selenium 在页面上找到 p 标记元素

jquery - 防止点击事件时浏览器弹出

javascript - 触发内容选择可编辑

java - 如何为线程设置名称?

java - selenium webdriver 测试被浏览器空闲警告窗口停止