【问题标题】:LESS client side not working for meLESS 客户端不适合我
【发布时间】:2012-04-26 15:00:57
【问题描述】:

在客户端使用 LESS 的说明非常简单。但由于某种原因它仍然不适合我。![在此处输入图像描述][1]

我在 Firebug 的控制台上收到此错误:

http://i.stack.imgur.com/NbIJP.jpg

如果我去那里写的 home.less 文件的 URL,我会看到内容(它们基本上与我之前使用的 CSS 相同,已重命名,因为我刚刚开始使用 LESS 并没有'还没有做任何事情)。

代码中唯一的 javascript(同样,与代码中的 URL 相同)只是更名为 less-1.3.0.min.js。

这是完整的 HTML:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="es_ES" />

    <link rel="stylesheet/less" type="text/css" href="http://domain.dev/css/home.less?id=1" />
        <script src="http://domain.dev/js/generated/home.js?id=1" type="text/javascript"></script>
</head>
<body>
</body>
</html>

知道我做错了什么吗?

解决方案/编辑: 好的,我知道问题出在哪里。如果您在 LINK 标记上引用的 .less 文件不在同一个域上(即使是不同的子域也不起作用,就像我的情况一样),显然 LESS 不能在客户端(使用 less.js 和所有)。我不知道 LESS 有这个限制,因为 CSS 没有。他们应该在文档中对此提出警告。

【问题讨论】:

  • 我认为,由于 less.js 是客户端 javascript,问题出在 same origin policy... JS 无法从域访问文件,与它的来源不同!

标签: less


【解决方案1】:

正如@dinchev 已经提到的,less.js 是一个客户端 javascript,因此您最终会遇到跨域问题。这可以通过启用 CORS 来解决,请参阅:http://enable-cors.org/。在已安装 home.less 的域上,服务器应发送 Access-Control-Allow-Origin: * 标头。

less.js 使用支持大多数现代浏览器的 CORS 的 XMLHttpRequests 加载 less 文件,请参阅http://caniuse.com/#search=cors。更多详情请关注http://www.html5rocks.com/en/tutorials/cors/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多