簡體   English   中英

使用Ractive.js中的HTML標記呈現內容

[英]Rendering content with HTML tags in Ractive.js

我正在嘗試在由Ractive.js呈現的數據中包含HTML標記(對於自動下標化學符號,以防有人關心),但Ractive只是插入文本而不是創建新的DOM元素。

一個最小的測試用例,改編自60秒的設置指南

<script id='template' type='text/ractive'>
    <p>Hello, {{name}}!</p>
</script>

<script type="text/javscript">
    var ractive = new Ractive({
    el: 'container',

    template: '#template',

    data: { name: '<b>world</b>' }
});

正如你在這個JSfiddle中看到的那樣 ,結果是Hello, <b>world</b>而不是預期的“Hello, world

我猜這是與Ractive處理表達式的方式有關...但我還沒有達到源有用的意義。

有關如何獲得預期行為的任何想法?

是! 你可以使用三重文章:

<p>Hello, {{{name}}}!</p>

在傳統的胡子中,這意味着“不要逃避name的價值”。 轉換為Ractive,意味着'將內容插入HTML而不是文本。

請注意 ,HTML在插入之前不會被清理,因此如果name來自用戶輸入,則可能存在XSS和其他惡意內容: http//jsfiddle.net/rich_harris/4jBC8/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM