2

Chrome拡張機能(chrome.tabs.create)を介して作成されたタブでLESSを使用しようとしていますが、LESS JavaScriptファイルを参照するクロスドメインエラー( "NETWORK_ERR:XMLHttpRequest Exception 101")が発生します。権限の設定方法がわかりません。LESSJavaScriptファイルを「web_accessible_resources」に追加しても効果がないようです。cssやjsファイルなど、他のすべてのファイルは正常に読み込まれます。このエラーは、より少ないソースからのみ受信するようです。何か案は?

私のセットアップをもう少し説明するために、LESSJavaScriptファイルと.lessファイルは次のようなHTMLファイルにロードされます。

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet/less" href="static/css/main.less">
    <script src="/static/js/jquery-1.8.2.min.js"></script>
</head>
<body>
Whatever... 
</body>
</html>

このhtmlファイルは次のようにbackground.jsにロードされます。

chrome.browserAction.onClicked.addListener(function() {
    chrome.tabs.create({url: 'mypage.html'})
});

マニフェストファイルには「タブ」と「すべてのURL」の権限があり、background.jsをロードします。

4

2 に答える 2

1

クライアント側のless.jsコンパイラをどこに含めるかわかりません。http://lesscss.org/#client-side-usageも参照してください。Less.jsはクライアント側のJavaScriptです。less.jsは、main.lessファイル以外のURL(ドメイン)から読み込まれるようです。これは、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/をご覧ください。

于 2014-10-04T10:53:43.503 に答える
0

開発には、ローカルフォルダーのless.jsを使用します。

<link rel="stylesheet/less" type="text/css" href="styles.less" />
<script src="less.js" type="text/javascript"></script>

リリースには、lesscなどのlessコンパイラを使用します。

于 2015-03-17T09:47:23.063 に答える