国产探花免费观看_亚洲丰满少妇自慰呻吟_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解析,顯示的是一個超鏈接。

 

 

 

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜州市| 平湖市| 大化| 石首市| 临邑县| 乐亭县| 普兰县| 墨玉县| 肥西县| 吴忠市| 大港区| 宣化县| 紫金县| 澄江县| 顺义区| 新竹市| 沙坪坝区| 绥江县| 思南县| 平和县| 二手房| 安龙县| 永年县| 上蔡县| 麻江县| 张北县| 遂昌县| 剑河县| 吉木乃县| 仙桃市| 四会市| 黔东| 九江县| 张家界市| 那曲县| 布拖县| 晋州市| 阿坝县| 永安市| 宜君县| 望奎县|