2013-05-31 42 views
2

所以,我有一個非常簡單的車把模板,看起來像這樣的元素:Handlebarsjs模板和使用HTML內容

<div> 
    {{include_text}} 
</div> 

我試圖插入一些HTML這樣的:

<table> 
....lots of table stuff 
</table> 

當我使用表模板,我得到什麼樣子:

<div> 
&lt;table&gt; 
... lots of table stuff 
&lt;/table&gt; 
</div> 

,我想:

<div> 
<table> 
....lots of table stuff 
</table> 
</div> 

這可能嗎?如果是這樣,怎麼樣?

回答

5

把手(和小鬍子)逃脫雙重鬍鬚。

使用三聯的人

{{{include_text}}} 

從官方的GitHub:

默認情況下,{{表達式}}語法將難逃其內容。這有助於防止由服務器以JSON形式傳遞的惡意數據導致的意外XSS問題。

要明確不轉義內容,請使用三重鬍鬚({{{}}})。

注意,排出的是不是「就在那裏」,如果你的輸出中包含用戶輸入的數據,不是轉義可能使他們執行XSS

+0

這並不直接回答你的問題,所以我沒有把它添加到答案,但取決於你在做什麼,你可能[想考慮partials](http://blog.teamtreehouse.com/handlebars- JS-部分-2-泛音和輔助細胞) –