zoukankan      html  css  js  c++  java
  • [AngularJS] Html ngSanitize, $sce

    Safely render arbitrary HTML snippets by using ngSanitize and $sce.

    By default angularJS consider user's input html is danger, so if you want to display html tag on the page will show unsafe error.

    To remove this error and trust user's input, we can install ngSanitize:

    bower install angular-sanitize
    var egghead = angular.module("egghead", ["ngSanitize"]);
    
    egghead.controller("AppCtrl", function () {
        var app = this;
    
        app.someHtml = '<a href="http://egghead.io" style="color:red">Learn stuff!</strong>';
    });
    <!DOCTYPE html>
    <html>
    <head>
        <title>Egghead.io</title>
        <link rel="stylesheet" href="bower_components/bootstrap.css/css/bootstrap.css"/>
    </head>
    <body ng-app="egghead" ng-controller="AppCtrl as app">
    <textarea name="" id="" cols="30" rows="10" ng-model="app.someHtml"></textarea>
    <div ng-bind-html="app.someHtml"></div>
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
    <script src="app.js"></script>
    </body>
    </html>

    Then the error message has gone, but we didn't get the result which we want, we want "Learn stuff" shown  in red color:

    <a href="http://egghead.io" style="color:red">Learn stuff!</strong>

    To overcome this, we can use $sce service:

    var egghead = angular.module("egghead", ["ngSanitize"]);
    
    egghead.controller("AppCtrl", function ($sce) {
        var app = this;
    
        app.someHtml = $sce.trustAsHtml('<a href="http://egghead.io" style="color:red">Learn stuff!</strong>');
    });

    Also you can trust as javascript, css && url:

    see here: https://docs.angularjs.org/api/ng/service/$sce

  • 相关阅读:
    用asp自编源码制作动态的音乐播放页面
    VBS 连接数据库 样例
    VBS访问SQL数据库
    人人都应该知道的计算机网络协议(1)
    VBS 访问数据库 别人写的一份公共函数
    WPF DateTimePicker 和 TimeSpanPicker 控件发布
    实现Evernote的OAuth授权
    EvernoteTodo发布
    EvernoteAdage 发布
    关于 极限(Extreme)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4176172.html
Copyright © 2011-2022 走看看