当我在 chrome 中运行 less(2.5 版)时,它会抛出一个错误:
主线程上的同步 XMLHttpRequest 已被弃用,因为它会对最终用户的体验产生不利影响。如需更多帮助,请查看 http://xhr.spec.whatwg.org/。
经过一些研究,我认为原因是因为默认情况下 async
被设置为 false
。 less.org 文档在异步类别下显示以下内容。
代码给定:
<script>
less = {
env: "development",
logLevel: 2,
async: false, //default is false
fileAsync: false,
poll: 1000,
functions: {},
dumpLineNumbers: "comments",
relativeUrls: false,
globalVars: {
var1: '"string value"',
var2: 'regular value'
},
rootpath: ":/a.com/"
};
</script>
由于我的要求是将 async
设置为 true
我在加载 less.js 之前添加了以下代码,错误似乎消失了。
使用代码:
<script>
less = {
async: true
};
</script>
我的问题:是否可以按照 less.org 文档执行此操作 (CodeUsed) 或我是否必须使用完整代码 (CodeGiven)?问的原因是因为我读到设置 async = true
对开发来说很糟糕吗?
最佳答案
我会说是的。保留 async = true
。
正如警告所说,在主线程上运行它不是一个好主意,因为这可能会带来糟糕的用户体验。当浏览器卡住时,大多数用户不喜欢它。您尤其不希望您的网站在服务器出现故障或运行缓慢时卡住,因为您的用户体验会很差。
异步运行您的请求是一种更好、更易于管理的解决方案。
关于css - 主线程上的同步 XMLHttpRequest 已弃用,因为它具有不利影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687293/