LESS 在 IE11 中不起作用 - 为什么?

Jes*_*ain 3 javascript css internet-explorer less web

我有以下示例:

<style type="text/less">
@bg: black;
@fg: white;
body {
 background-color: @bg;
 color: @fg;
}
</style>

<script type="text/javascript" language="JavaScript"
  src="http://cdnjs.cloudflare.com/ajax/libs/less.js/1.7.3/less.js">
</script>
<title> test </title>
</head>

<body>
test

<script type="text/javascript" language="JavaScript">
  alert("test");
</script>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

它在 Firefox、Chrome 和 Opera 中显示 JavaScript 警报和黑底白字。出于某种原因,它在 IE11 中不起作用:正在显示警报,但不会发生 LESS 解析。我让 IE11 开发人员工具在所有例外情况下都中断,但似乎没有任何问题。

警报出现是因为我担心 Internet Explorer 可能根本不会执行脚本,但显然情况并非如此。

顺便说一句,我也用早期版本试过这个

https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.min.js
Run Code Online (Sandbox Code Playgroud)

而不是来自cdnjs.cloudflare.com,也没有运气。

据我所知,IE11 应该支持 LESS。如果有人知道为什么它不起作用,我将不胜感激。

编辑这似乎是我的 Internet Explorer 配置的问题。我在一台 Windows 2008 R2 机器上,我所有的 Internet Explorer 设置都是默认的。

mor*_*kro 5

将您的更少的代码<script>标签。

<script type="text/javascript" language="JavaScript"
  src="http://cdnjs.cloudflare.com/ajax/libs/less.js/1.7.3/less.js">
</script>
<style type="text/less">
@bg: black;
@fg: white;
body {
 background-color: @bg;
 color: @fg;
}
</style>
<title> test </title>
Run Code Online (Sandbox Code Playgroud)

如果在包含之前放置它less.js,浏览器不知道如何处理那段代码。这就是它没有被解析的原因。

另一种方法:删除language="JavaScript"所有<script>标签,因为该属性已被弃用。