15

ページにn回ごとに含めたい広告を表示するためのJavaScriptのブロックがあります。

テンプレート言語としてMustacheを使用していますが、jsを含める方法がわからないため、文字列として挿入されるだけでなく、スクリプトとして実行されます。

<script id="mustache-post-advert" type="text/mustache">
<article id="post-{{id}}" class="post">

    {{{  <script type="text/javascript">GA_googleFillSlot("MPU")</script>  }}}

</article>

</script>

私はトリプル{を試しましたが、それは逃げることを望んでいましたが、残念ながらうまくいきませんでした。

4

2 に答える 2

18

json-inputは、呼び出すスクリプトを参照する必要があります。

JSON

 var json = {
   id: "someid",
   gaFillSlot: function(){
     GA_googleFillSlot("MPU");
   }
 }

レンプレート

 <script id="mustache-post-advert" type="text/mustache">
   <article id="post-{{id}}" class="post">
     {{gaFillSlot}}
   </article>
 </script>

テンプレート作成時に、口ひげのコンテキストから「GA_googleFillSlot」を呼び出すことができることを確認してください。

これは、Mustacheのロジックのない性質と一致しています。必要なロジックは、Mustacheに渡してbginするjsonに埋め込む必要があります。

これをテストしませんでしたが、これは機能するはずです。HTH

于 2012-07-04T14:37:07.763 に答える
0

すでにスクリプトタグ内にいるので、別のタグを追加する必要はありません。

<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/

于 2012-07-03T15:44:43.537 に答える