如何等待LESS JS加载.less文件?

3
我的网页使用less文件而非css文件,这是由less js脚本解析的。我的网站js脚本在dom就绪时触发,并根据不同的dom尺寸布局页面。问题是,在网络较慢的情况下,我的js文件可能会在less js下载less文件之前就被触发了。由于这是一种未知的文件类型,所以浏览器无需等待该文件下载完成再触发dom就绪,即使它位于部分中。在这种情况下,我的js将读取错误的尺寸,因为还没有应用CSS规则。所以,我的问题是,如何知道less文件何时下载完成,以便我的js代码可以在less被下载并准备好后再触发dom就绪?

也许你可以尝试使用更少的服务器端编译,而是在客户端使用。这样你的用户就不必打开js来获取css了... 你可以使用leesc或lessphp来实现。 - greg0ire
2
也许不是一个“答案”,所以我来评论一下:您可以通过在服务器端处理LESS(并缓存结果)来完全避免此问题。 - T.J. Crowder
在服务器端将.less文件的 MIME 类型设置为text/css可能会有所帮助。 - Stefan
请注意,对于生产服务器,我确实会使用实际的CSS文件。这是网络上的开发服务器。 - AppleGrew
可能是动态加载less.js规则的重复问题。 - Praveen
显示剩余2条评论
1个回答

0

查看类似问题的答案(此类似问题) - 看起来你只需要触发一个less.refreshStyles()事件,它将重新编译带有type="text/less"<style>标签。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接