Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user’s experience. For more help, check http://xhr.spec.whatwg.org/.
web worker 是运行在后台的 JS,不会影响页面的性能。
什么是 Web Worker?web worker 是运行在后台的 JS,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。
真实情况:我们根本无需增加思想负担。了解什么work、新的api、和多线程消息机制等!我们解决它,只需要遵循以下2点一般就可以解决
1.AJAX 请求 变为异步:这也是ajax默认方式,不然用ajax也失去了本质意义,同步很少。async: false // 轻轻方式-异步
2.接受的请求,返回一个html代码段,里面包含了<script src="http://www.bubuko.com/scripts/script.js"></script>这样脚本文件引用! 才会出现这种警告!
<div></div> <script src="/scripts/script.js"></script>
备注:这样的情况很多,比如你要请求一段html 用于局部刷新显示到页面,或者请求后台模版,而这段html里 还有<script scr="xx.js"></script> 引用,就会出险上述警告(单纯的警告,但是看着也不爽)
解决办法:依据第二点
1.请将 <script src="http://www.bubuko.com/scripts/script.js"></script> 提前写入前台页面,从发送过来的HTML 代码段剥离出去,亲测有效!国外网友也是这样总结!
2.将引用的外部js脚本文件,写到dom里面
<script type="text/javascript"> console.log(‘I am out of js context,now we use script tag to insert into html‘);//就是将原来外部JS文件中的代码直接贴到HTML文件中,我是这么解决的,毕竟只是局部用没有按照方法一去做
</script>
总之:如果请求HTML代码段或者HTML模版,不要直接引入外部js的方式就可以,有很多技巧,大家自行发挥,还要2种方式可以解决;想好了给我留言 哈哈哈!
提示你:此法可完美hold住,又不耽误继续引用外部js脚本,吼吼吼!
$.getScript(‘jsUrl‘, function() { // console.log(jsUrl[i] + " loaded..."); });
来自:https://blog.csdn.net/weixin_41697143/article/details/105397215
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
原文:https://www.cnblogs.com/djd66/p/15260956.html