0

내 컴파일러 파일은 내가 내가 행 다음에 쓰기 다음Google 클로저 컴파일러에서 사용자 에이전트 또는 브라우저를 어떻게 찾을 수 있습니까?

<!--[if IE]> 
.vidizmo-widget .result-summary {width:0px;} 
<![endif]--> 

오류를주는 IE 컴파일러를 감지하기 위해 다음 행을 추가하고

cd /d %~dp0 
java -jar ../../../../file/css-compiler.jar --pretty-print^
--allowed-unrecognized-property -khtml-opacity^
    ../source/abc.gss^
    > ../abc.css 
pause 

@if (BROWSER_IE) { 
.vidizmo-widget .result-summary {width:0px;} 
}@else{ 
.vidizmo-widget .result-summary {width:30%;} 
} 

는 아무튼 같다 오류가 발생하지만 IE에 영향을주지 않았습니다.

Google CSS는 컴파일러를 사용하여 브라우저를 감지 할 수 있습니까? 사용자가 정의한 :

답변

1

예, 두 번째 방법은

@if (BROWSER_IE) { 
    .vidizmo-widget .result-summary {width:0px;} 
}@else{ 
    .vidizmo-widget .result-summary {width:30%;} 
} 

이 그럼 당신은 (모든 플래그보다 정확하게) : 모든 브라우저에 대한 폐쇄 템플릿 (GSS)를 컴파일 할 필요가 정확한지

java -jar closure-stylesheets.jar example.gss > example.css 
java -jar closure-stylesheets.jar --define BROWSER_IE example.gss > example.ie.css 
java -jar closure-stylesheets.jar --define BROWSER_FF2 example.gss > example.ff2.css 
… 

그런 다음 적절한 CSS를로드해야합니다. 이것은 쉽게 :

  • 중 하나에 javscript와
  • 또는 서버 측에
  • 이 답변에 응답 마지막 사람에서 오래 기다려야 후 사용자 에이전트
+0

O 고맙습니다 많이 기반으로 봉사. 네, 그렇게 할 수는 있지만 다른 브라우저에 대해 다른 gss 파일을 가지고있는 나쁜 구현이라고 생각하지 않습니까? –

+1

왜 나쁜 구현이라고 생각합니까? 그렇게하면 브라우저는 그에게 유용한 부분 만 가져옵니다. 나는 오히려 모든 브라우저에 하나의 공통된 CSS를 전달하는 나쁜 구현이라고 주장 할 것입니다. 조건없는 해킹은 모든 브라우저에 제공되지 않습니다. maintenace의 중요한 점은 소스 코드가 유지하기 쉽다는 것입니다. 이것이 GSS가 달성하려고 시도하는 것입니다. – rds