2012-04-26 13 views
1

クライアント側でLESSを使用する手順は簡単です。何らかの理由でまだ機能していません。[1]クライアント側が私のために働いていない

私はFirebugののコンソールにこのエラーを取得する:

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

私はそこに書かれたようhome.lessファイルのURLに行けば、私は内容を見る(彼らは基本的に私が使用したのと同じCSSです私はちょうどLESSを使い始めていて、まだそれで何もしていないので、今までは名前が変更されました)。

コード内の唯一のjavascript(コードと同じURL)は1.3.0.min.jsの名前が変更されています。

<!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> 

任意のアイデア私が間違って何をやっている:

これは完全なHTMLのですか?

解決策/編集:私は問題が何かを理解しました。どうやらLINKタグで参照している.lessファイルが同じドメインにない場合(less.jsとallの場合)、LESSはクライアント側で動作しません(私の場合のように、別のサブドメインでも機能しません)。 CSSが持っていないので、この制限があることはわかりませんでした。彼らはドキュメントでこれについて警告する必要があります。

+6

私は、less.jsはクライアント側のjavascriptなので、この問題は[同じ起源のポリシー](http://en.wikipedia.org/wiki/Same_origin_policy)にあると思います。 JSはドメインとは別のドメインのファイルにアクセスすることはできません! – drinchev

答えて

0

@drinchev less.jsですでに述べたように、クライアントサイドのJavaScriptであるため、クロスドメインの問題になります。これは、CORSを有効にすることで修正できます。http://enable-cors.org/を参照してください。 home.lessがインストールされているドメインでは、サーバーはAccess-Control-Allow-Origin:*ヘッダーを送信する必要があります。

less.jsは、ほとんどの最新のブラウザではCORSをサポートするXMLHttpRequestsで少ないファイルを読み込みます。http://caniuse.com/#search=corsを参照してください。もっと詳しくはhttp://www.html5rocks.com/en/tutorials/cors/

関連する問題