2

我试图在通过 Chrome 扩展程序 (chrome.tabs.create) 创建的选项卡中使用 LESS,但我收到了一个跨域错误(“NETWORK_ERR: XMLHttpRequest Exception 101”),指的是 LESS JavaScript 文件。我不清楚如何设置权限。将 LESS JavaScript 文件添加到“web_accessible_resources”似乎没有帮助。所有其他文件,例如 css 和 js 文件都可以正常加载。看来我只从较少的来源中收到此错误。有任何想法吗?

为了进一步解释我的设置,LESS JavaScript 文件和 .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

For development use less.js from local folder.

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

for release use any less compiler like lessc.

于 2015-03-17T09:47:23.063 回答