Включение javascript в шаблон уса
У меня есть блок javascript для отображения рекламы, которую я хочу включить каждый n-й раз на странице.
Я использую Mustache в качестве языка шаблонов, но не могу понять, как включить js, поэтому он запускается как script, а не просто вставляется как строка.
<script id="mustache-post-advert" type="text/mustache">
<article id="post-{{id}}" class="post">
{{{ <script type="text/javascript">GA_googleFillSlot("MPU")</script> }}}
</article>
</script>
Я пробовал тройной {который, я надеялся, сбежал, но, к сожалению, этого не произошло.
Ответы
Ответ 1
Ваш json-вход должен ссылаться на script для вызова:
JSON
var json = {
id: "someid",
gaFillSlot: function(){
GA_googleFillSlot("MPU");
}
}
TEMPLATE
<script id="mustache-post-advert" type="text/mustache">
<article id="post-{{id}}" class="post">
{{gaFillSlot}}
</article>
</script>
Удостоверьтесь, что "GA_googleFillSlot" доступен для вызова из контекста усов во время шаблонов.
Это соответствует логической природе Усы: любая логика, которую вы хотите, должна быть встроена в json, с которым вы переходите к Mustache to bgin.
Не тестировал это, но это должно работать.
НТН
Ответ 2
Вы уже находитесь в теге script, нет необходимости добавлять другое:
<script id="mustache-post-advert" type="text/mustache">
<article id="post-{{id}}" class="post">
{{ GA_googleFillSlot("MPU") }}
</article>
</script>
изменить
на второй мысли, этого может быть недостаточно; см. здесь информацию о вызовах функций из шаблонов усов:
http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-using-the-mustache-template-library/