2012-04-26 3 views
1

클라이언트 쪽에서 덜 사용하기위한 지침은 얻을 수있는 것처럼 쉽습니다 .. 아직 어떤 이유로 그것이 나를 위해 작동하지 않습니다. [1]덜 클라이언트 쪽이 나를 위해 작동하지 않습니다

나는 방화범의 콘솔에서이 오류가 발생합니다 :

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

내가 거기에 기록 된대로 home.less 파일의 URL로 이동하면, 내가 내용을 참조 (그들은 기본적으로 내가 사용했던 것과 동일한 CSS있어 지금까지 이름이 바뀌 었습니다. 왜냐하면 저는 LESS를 사용하기 시작하고 아직 아무것도하지 않았기 때문에).

코드의 유일한 자바 스크립트 (코드에서와 동일한 URL)가 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> 

내가 잘못하고있는 중이 야 어떤 생각?

해결책/편집 : 확인 문제가 무엇인지 알아 냈습니다. 분명히 LESS 태그에서 참조하는 .less 파일이 동일한 도메인에 있지 않으면 클라이언트 측 (less.js 및 all 포함)이 작동하지 않습니다 (제 경우와 다른 하위 도메인에서도 작동하지 않습니다). 나는 CSS가 가지고 있지 않기 때문에이 제한이 없다는 것을 알지 못했다. 그들은 문서에서 이것을 경고해야합니다.

+6

입니다. less.js는 클라이언트 측 자바 스크립트이므로 [동일한 출처 정책] (http://en.wikipedia.org/wiki/Same_origin_policy)에 있습니다. JS는 출처와 다른 도메인의 파일에 액세스 할 수 없습니다! – drinchev

답변

0

@drinchev less.js에서 이미 언급했듯이 클라이언트 측 자바 스크립트이므로 상호 도메인 문제가 발생합니다. 이것은 CORS를 enabeling하여 해결할 수 있습니다 (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/

관련 문제