2017-09-20 2 views

Antwort

0

angular.module('app', ['ngSanitize']) 
 
.controller('ctrl', ['$scope', '$sce', function($scope, $sce) {  
 
    $scope.style = $sce.trustAsHtml(
 
    `<script> 
 
     alert("Some bad"); 
 
    <\/script> 
 
    <style> 
 
     .green{ 
 
      background-color:green 
 
     } 
 
    </style>`);  
 
}])
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script> 
 
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-sanitize.min.js"></script> 
 

 
<div ng-app='app' ng-controller="ctrl"> 
 
    <div ng-bind-html='style'></div> 
 
    <div class='green'>Green</div>  
 
</div>

+0

Was, wenn es ein Script-Tag in der Zeichenfolge für trustAsHtml vergangen ist? Wird das ausgeführt? Ich möchte kein Skript ausführen. Wenn möglich, möchte ich dem Skript entkommen. – maddie

+0

Wenn Sie kein Skript ausführen möchten, fügen Sie es einfach nicht in Ihre Seite ein. –

+0

Leider ist der Inhalt Benutzereingaben. Darauf kann ich mich nicht verlassen. – maddie

Verwandte Themen