Firefox中的LESS属性加载不一致

时间:2015-02-21 05:33:38

标签: javascript jquery html css less

我正在通过在index.html中添加less.js来编译我的LESS文件。我的代码如下:

<head>
  <link rel="stylesheet/less" type="text/css" href="style.less"/> <!--my own styles go in this file -->
</head>
<body>
  <div class="blue-text">Hello</div>
  <div class="blue-background"></div>
  <script src="jquery.js"></script>
  <script src="less.js"></script>
  <script src="script.js"></script> <!--my own script file -->
</body>


//style.less
.blue-text {
  color: blue;
}

//script.js
(function(){
  $('.blue-background').css('background', $('.blue-text').css('color'));
})();

现在,当我在浏览器中呈现此页面时,它可以在Chrome浏览器中呈现。 但在Firefox中,蓝背景并不是每次都能获得颜色。它有时会出现,有时则不然。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是因为不同的浏览器在呈现页面时表现不同。

在您的情况下,在将less文件编译到css文件之前运行script.js。因此它无法从蓝色文本类中读取它将它应用于蓝色背景,因为该类尚未可用于dom。

唯一的解决方案是你必须手动编译less到css并使用html文件中的css,这样你就可以确保在页面渲染之前编译得较少。

如果你不想每次都手动执行,你可以使用一些自动的javascript任务运行器,比如我使用Gruntjs