当前位置: 首页 > 面试题库 >

AngularJS ng-bind-html-unsafe替换

水瀚漠
2023-03-14
问题内容

我曾经能够用来ng-bind-html-unsafe输出未经消毒的代码(因为消毒发生在服务器端)。

但是现在这个选择消失了吗?我知道我可以使用,$sce.trustAsHtml但是当不安全易于使用时,将其添加到整个JavaScript上将是一个巨大的痛苦。

我怎么不安全回来?


问题答案:

好吧,仅创建您自己的指令非常简单,这是一个示例。

指令

app.directive('bindHtmlUnsafe', function( $compile ) {
    return function( $scope, $element, $attrs ) {

        var compile = function( newHTML ) { // Create re-useable compile function
            newHTML = $compile(newHTML)($scope); // Compile html
            $element.html('').append(newHTML); // Clear and append it
        };

        var htmlName = $attrs.bindHtmlUnsafe; // Get the name of the variable 
                                              // Where the HTML is stored

        $scope.$watch(htmlName, function( newHTML ) { // Watch for changes to 
                                                      // the HTML
            if(!newHTML) return;
            compile(newHTML);   // Compile it
        });

    };
});

用法

<div bind-html-unsafe="testHTML"></div>

演示:
http
://jsfiddle.net/cC5VZ/2



 类似资料:
  • 问题内容: 我正在尝试使用provider和指令来允许我的控制器将HTML注入DIV。 但是,我无法使其正常工作。 我发现这是因为它已从AngularJS中删除(谢谢)。 但是没有,我得到这个错误: http://errors.angularjs.org/undefined/$sce/unsafe 问题答案: 您需要确保已加载sanitize.js。例如,从https://ajax.googlea

  • 问题内容: 我想知道ng-bind-html和bind-html-compile指令之间的区别。例如我给 到ng-bind-html,这会剔除bind-html-compile所没有的样式。我可以知道何时应该使用每个指令。谢谢。 问题答案: bind-html-compile 不是标准的Angular指令,它带有模块https://github.com/incuna/angular- bind-h

  • import "unsafe" unsafe包提供了一些跳过go语言类型安全限制的操作。 type ArbitraryType type Pointer func Sizeof(v ArbitraryType) uintptr func Alignof(v ArbitraryType) uintptr func Offsetof(v ArbitraryType) uintptr type Arbi

  • Rust的内存安全依赖于强大的类型系统和编译时检测,不过它并不能适应所有的场景。 首先,所有的编程语言都需要跟外部的“不安全”接口打交道,调用外部库等,在“安全”的Rust下是无法实现的; 其次,“安全”的Rust无法高效表示复杂的数据结构,特别是数据结构内部有各种指针互相引用的时候;再次, 事实上还存在着一些操作,这些操作是安全的,但不能通过编译器的验证。 因此在安全的Rust背后,还需要uns

  • 单子通常依次解释和。但是,我认为您也可以通过实现(以及?) 在缺乏一流函数的编程语言中,非常难以使用。另一方面,看起来很容易。 但是,我不能完全理解是如何工作的。显然,它具有[Haskell]类型 单子连接函数 有人能用、和描述一些常见单子的实现吗?(即根本不提。)我想也许这能帮助我沉入我愚蠢的大脑...

  • 问题内容: 我刚刚完成了从数据库中剥离HTML实体的任务,因为我们进行了很多爬网,并且某些爬网程序在输入时没有这样做:( 因此,我开始编写一堆看起来像这样的查询; 显然,这是一种非常幼稚的方法。我一直在尝试找出解码功能是否可以做些聪明的事情。也许通过正则表达式抓住HTML实体一样,然后通过 刚刚 的部分到ASCII解码器,以及重建串…或东西… 我可以按查询继续吗?其中可能只有40个左右。 问题答案