我真正的新AngularJS。所以这个问题可能是非常基本的,但我没有从其他文章得到明确的答案,所以我试图提出一个新的问题。AngularJS NG绑定,HTML移除所有的脚本标签
我woundering为什么angulars JS NG绑定,HTML去除我想在我的网站上粘贴内容的所有脚本标签。
我只是从AngularJS文档网站此代码示例显示了用内部Java脚本标签的简单绑定,HTML例子尝试。
(function(angular) {
'use strict';
angular.module('bindHtml', ['ngSanitize'])
.controller('Controller', ['$scope', function($scope) {
$scope.myHTML =
'I am an <code>HTML</code>string with ' +
'<a href="#">links!</a> and other <em>stuff</em>'+
'<script type="javascript">' +
'alert(1);'+
'</script>';
}]);
})(window.angular);
此代码片段显示了HTML模板:
<body ng-app="bindHtml">
<div ng-controller="Controller">
<p ng-bind-html="myHTML"></p>
</div>
</body>
但Chrome检查表明,AngularJS显然取消了所有的Java脚本没有警告消息。存在一种方法来绕过这种删除或我必须重写所有旧式jQuery和什么JavaScript到AngularJS? Screenshot from code inspector of Chrome
谢谢
试试这个$ sce.trustAsHtml($ scope.myHTML)。 –
出于好奇,您将javascript内联脚本注入模板的用例是什么?为什么不在JavaScript中的应用程序逻辑中运行代码? –
是的,因此不存在一个好问题。该项目仍然是不同的框架,现在JS角也的拼装....不过谢谢你$ sce.trustAsHtml是正确的轨迹。 –