2012-03-01 2 views
1

나는 나의 genshi 템플릿에서 다음과 같은 자바 스크립트를하고 난 그것을 오류없이 구문 분석하는 방법을 확실 해요 : 항상을genshi 및 javascript 앰퍼샌드?

floor = (!floor &amp&amp floor !== 0)? 20 : floor;

하지만 :

floor = (!floor && floor !== 0)? 20 : floor;

나는이 시도 이 오류가 발생합니다. 'genshi.template.base.TemplateSyntaxError'> at/ not well-formed (invalid token)

어떤 의견이 나옵니까?

답변

7

비결은 genshi에서 JS를 숨길 CDATA 태그의 JS 코드를 포장뿐만 아니라 자바 스크립트의 CDATA 태그를 주석이었다 속임수가 속임수, 어쨌든 작동하는 것 같다

<script type="text/javascript">
//<![CDATA[
floor = (!floor && floor !== 0)? 20 : floor;
// ]]>
<script/>

1

세미콜론을 잊어 버렸습니다.

이 방법이 효과가 있습니까?

&amp;&amp;

하지 않으면, 당신은 단지 속임수와 앰퍼샌드를 사용하지를 다시 작성할 수 있습니다.

floor = floor === 0 ? 0 : floor || 20; 
+0

이 캐릭터? '<' – user257543

+0

& $ amp; 그것이 최종 생성 된 자바 스크립트에서 끝내기 때문에 작동하지 않습니다. – user257543

+0

아니요, less-than :( –