国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

13-關于HTML編碼

2024-04-27 15:07:36
字體:
來源:轉載
供稿:網友
 1 <!DOCTYPE html> 2 <html> 3   <head> 4     <META http-equiv=Content-Type content="text/html; charset=utf-8"> 5     <title>關于HTML編碼 - by 楊元</title> 6   </head> 7   <body> 8     <h1>關于HTML編碼</h1> 9     <!--基礎html框架-->10     <table>11       <thead>12         <tr>13           <th>姓名</th>14           <th>性別</th>15           <th>年齡</th>16           <th>個人主頁</th>17         </tr>18       </thead>19       <tbody id="tableList">20         21       </tbody>22     </table>23     24     <!--插件引用-->25     <script type="text/javascript" src="script/jquery.js"></script>26     <script type="text/Javascript" src="script/handlebars-1.0.0.beta.6.js"></script>27     28     <!--Handlebars.js模版-->29     <!--Handlebars.js模版放在script標簽中,保留了html原有層次結構,模版中要寫一些操作語句-->30     <!--id可以用來唯一確定一個模版,type是模版固定的寫法-->31     <script id="table-template" type="text/x-handlebars-template">32       {{#each student}}33         <tr>34           <td>{{name}}</td>35           <td>{{sex}}</td>36           <td>{{age}}</td>37           {{#compare age 20}}38             <td>{{homePage}}</td>39           {{else}}40             <td>{{{homePage}}}</td>41           {{/compare}}42         </tr> 43       {{/each}}44     </script>45     46     <!--進行數據處理、html構造-->47     <script type="text/javascript">48       $(document).ready(function() {49         //模擬的json對象50         var data = {51                     "student": [52                         {53                             "name": "張三",54                             "sex": "0",55                             "age": 18,56                             "homePage":"<a href='javascript:void(0);'>張三的個人主頁</a>"57                         },58                         {59                             "name": "李四",60                             "sex": "0",61                             "age": 22,62                             "homePage":"<a href='javascript:void(0);'>李四的個人主頁</a>"63                         },64                         {65                             "name": "妞妞",66                             "sex": "1",67                             "age": 19,68                             "homePage":"<a href='javascript:void(0);'>妞妞的個人主頁</a>"69                         }70                     ]71                 };72         73         //注冊一個Handlebars模版,通過id找到某一個模版,獲取模版的html框架74         //$("#table-template").html()是jquery的語法,不懂的童鞋請惡補。。。75         var myTemplate = Handlebars.compile($("#table-template").html());76         77         //注冊一個比較數字大小的Helper,有options參數,塊級Helper78         Handlebars.registerHelper("compare",function(v1,v2,options){79           //判斷v1是否比v2大80           if(v1>v2){81             //繼續執行82             return options.fn(this);83           }else{84             //執行else部分85             return options.inverse(this);86           }87         });88         89         //將json對象用剛剛注冊的Handlebars模版封裝,得到最終的html,插入到基礎table中。90         $('#tableList').html(myTemplate(data));91       });92     </script>93   </body>94 </html>復制代碼

 

 

     通過{{}}取出來的內容,都會經過編碼,也就是說,如果取出的內容中包含html標簽,會被轉碼成純文本,不會被當成html解析,實際上就是做了類似這樣的操作:把<用&lt;替代。

     這樣做是很好的,既可以顯示html代碼,又可以避免xss注入。這個功能在做代碼展示的時候是非常有用的。

     但是有時候我們可能需要解析html,不要轉碼,很簡單,把{{}}換成{{{}}}就可以啦。

     本例中,年齡大于20的童鞋個人主頁被編碼,直接展示出來;而年齡小于20的童鞋,個人主頁被當成html解析,顯示的是一個超鏈接。

 

 

 

作者:楊元歡迎任何形式的轉載,但請務必注明出處。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 二连浩特市| 定远县| 都昌县| 大名县| 孝义市| 汉源县| 台北县| 阿拉尔市| 桓仁| 淮阳县| 花垣县| 泗洪县| 临猗县| 石阡县| 洛阳市| 长武县| 沿河| 夏河县| 临城县| 安化县| 金阳县| 奉化市| 缙云县| 兴化市| 德兴市| 凤山县| 甘肃省| 武隆县| 井研县| 古蔺县| 武平县| 平山县| 内江市| 克山县| 呼伦贝尔市| 卓尼县| 吉林市| 马鞍山市| 海伦市| 芦溪县| 曲阜市|