genshi и javascript амперсанд? - PullRequest
1 голос
/ 02 марта 2012

У меня есть следующий javascript в моем шаблоне genshi, и я не уверен, как заставить его анализировать без ошибок:

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

Я пробовал это:

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

но этовсегда выдает эту ошибку:

'genshi.template.base.TemplateSyntaxError'> при неправильном формировании (недопустимый токен)

есть мысли?

Ответы [ 2 ]

10 голосов
/ 02 марта 2012

Хитрость заключалась в том, чтобы обернуть код JS в теги CDATA, чтобы скрыть js от genshi, но ТАКЖЕ комментировать теги cdata для javascript

<script type="text/javascript">
    //<![CDATA[
    floor = (!floor && floor !== 0)? 20 : floor;
    // ]]>
</script>
1 голос
/ 02 марта 2012

Вы забыли точку с запятой.

Это работает?

&amp;&amp;

Если нет, вы можете просто обмануть и переписать его, чтобы не использовать амперсанды.*

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