2012-03-22 24 views
1

DjangoでLESSスタイルシートにリンクしようとしています。ファイルは私の静的フォルダに保存されており、JavaScriptファイルとCSSファイルはすべて問題なく提供されます。私は私のファイルに」.less'拡張を使用すると、私は次のエラーを取得するlesscssスタイルシートを扱う

XMLHttpRequest cannot load... 
Origin null is not allowed by Access-Control-Allow-Origin. 

私が直接ページにアクセスすると、ダウンロードプロンプトがをポップアップ表示ファイルのために。

エクステンションを完全にオフにすると、ウェブブラウザに黒い画面が表示され、Chromeでコンソールを表示できなくなります。

拡張子 '.txt'を使用すると、ページを正常に表示できますが、リンクしようとすると同じエラーが表示されます。

<link rel="stylesheet/less" type="text/css" href="static/CSS/BaseLess.txt"> 
<script src="/Plugins/less-1.3.0.js" type="static/text/javascript"></script> 

どのように私はこれを解決できますか?より多くのコードやエラーメッセージを表示したい場合は教えてください。

編集 私は実際には別のサーバーとYou cannot access data from another server with an XMLHttpRequestから私の小さいファイルを提供されました。

ファイルを同じサーバーに切り替えたため、拡張子が小さくても正常に機能しました。

+1

1)スクリプトの 'type'から" static/"ビットを取り除く必要があります。それはおそらくあなたの問題ではありません。 2)あなたはどのような環境で走っていますか?これはdevの 'runserver'の上にあるのですか?それとも、本当のウェブサーバーを持っていますか? –

+0

私はdevモードです。私はまた、less.jsファイル内でこのエラーがxhr.send(null)という結果になることを追加する必要があります: 'Uncaught Error:NETWORK_ERR:XMLHttpRequest Exception 101' –

+3

残念なことに、解決策がありません。 LESSはかなりプラグアンドプレイです。しかし、FWIWは、あなたのサイトのCSSをレンダリングするためにJSを要求することは、私の意見では悪い方法です。これは、LESSを実際のCSSファイルに手動または自動でdjango-compressorのようなもので前処理する方がずっと優れています。 –

答えて

0

編集実際には、別のサーバーから少ないファイルを提供していましたが、XMLHttpRequestを使用して別のサーバーのデータにアクセスすることはできません。

ファイルを同じサーバーに切り替えたため、拡張子が小さくても正常に機能しました。

+0

他の誰かがここまで来てくれたというメモ:WebホストのWebサーバーで同じエラーが発生しました。 '.less'ファイル/ mimeタイプが不明だったので、間違って空の応答を送っていました。 .lessファイルを適切に処理するようにWebサーバーを設定すると、そのファイルが修正されました。 (クロスドメイン要求ではなく、すべての.js'/'.less'ファイルが同じフォルダから提供されていました)。 –

関連する問題