jQuery导致“主线程上的同步XMLHttpRequest被弃用”警告

时间:2018-02-20 11:19:37

标签: jquery ajax

var data = "<script src='some_script.js'></script><div class='content'> Some html content </div>";
$("#myDiv").html(data);

数据变量的内容实际上是通过ajax调用加载的,但这与我之所以这样的问题无关。

这似乎导致“主线程上的同步XMLHttpRequest被弃用”警告,我试图在网上查找它,有人说这应该在jQuery 3中修复,但即使使用最新的jQuery版本,我也是仍然会收到这个可能在以后成为真正问题的警告。

有人知道这方面的方法吗?我需要在插入html时执行脚本。没有指向外部文件的脚本标记似乎没有警告就可以正常工作。

2 个答案:

答案 0 :(得分:0)

如果要动态加载脚本文件,请浏览https://api.jquery.com/jquery.getscript/文档。

答案 1 :(得分:0)

带状态测试的简单纯javascript ajax函数将解决您的消息问题。如果找不到资源,此消息可以防止阻塞(EQ:http状态不是 200

var xhr = new XMLHttpRequest()
xhr.open('GET', 'some_script.js', true)
xhr.onload = function () {
    if (xhr.readyState === xhr.DONE) {
        if (xhr.status === 200) {
            console.log(xhr.responseText)
            myDiv.innerHTML = xhr.responseText
        }
    }
} 
xhr.send(null)

如果找不到您的资源,您脚本的其余部分将不会失败。