【发布时间】:2013-05-10 05:17:31
【问题描述】:
我的网页包含less 文件而不是css。这是由less js 脚本解析的。我网站的 js 脚本在 dom 就绪时触发,并根据不同的 dom 尺寸布局页面。
问题是,通过慢速网络,我的 js 文件可以在 less js 能够下载 less 文件之前触发。因为这是一个未知的文件类型,所以浏览器没有义务等待这个文件下载然后触发 dom 准备好,即使它在 <head> 部分。在这种情况下,我的 js 读取的尺寸不正确,因为尚未应用 CSS 规则。
所以,我的问题是,我如何知道less 文件何时已下载。这样我的 js 代码就可以在下载 less 并且 dom 准备好后触发。
【问题讨论】:
-
也许您可以尝试使用较少的服务器端,而不是每次客户端都编译它。您的用户不必打开 js 来获取 css...您可以为此使用 leesc 或 lessphp。
-
也许不是一个答案,所以我会评论:您可以通过处理LESS服务器端(并缓存结果)完全绕过这个问题。
-
在服务器端将
.less文件的 MIME 类型设置为text/css会有所帮助。 -
请注意,对于生产服务器,我确实会使用实际的 css 文件。这是网络上的开发服务器。
-
@Stefan 我会试试你的 MIME 技巧。
标签: javascript less domready