- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 AngularJS 组件,它将 HTML 加载到它的范围内并使用 ng-bind-html
.我注意到 <script>
标签未执行。
如何让这个示例代码发出警报?
app.component('myComponent', {
bindings: {
file: '<'
},
controller: function($http, $sce) {
var $ctrl = this;
$ctrl.onChanges = function(changes) {
$http.get($ctrl.file).then(function(response){
$ctrl.html = $sce.trustAsHtml(response.data);
});
};
},
template: '<div><div ng-if="$ctrl.html" ng-bind-html="$ctrl.html"></div></div>'
});
$http
返回的数据是:
<div> I am html <script>alert('I am a script')</script></div>
或者,如果我想在 HTML 中引用 Controller 怎么办?
<div ng-controller="myController"> I am html</div>
最佳答案
在幕后,$http.get
只是使用 XMLHttpRequest。由于安全限制,即跨站点脚本,动态添加到 DOM 的脚本(例如,在 XMLHttpRequest 之后添加)不会执行。因此,在 HTML 中执行脚本的唯一方法是在结果中找到脚本标记,然后对内容调用 eval()
。
关于javascript - 如何在包含 <script> 标签时使用 $sce.trustAsHtml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48725845/
我正在尝试将对象数组从 Angular Controller 提供给 ng-repeat 指令。 数组中返回的对象有几个属性,其中一些可能包含需要由ng-repeat结果输出的HTML。我似乎无法弄清
好的,所以我在代码中测试过的以下内容有效: javascript: var string = 'hello'; $scope.html = $sce.trustAsHtml(string); html
我在这里添加了一个 Plunker:http://plnkr.co/edit/4vqV8toHo0vNjtfICtzI?p=preview 我正在尝试向 DOM 添加一个按钮,单击时应该执行绑定(bi
我正在尝试在字符串上运行 $sce.trustAsHtml 。它抛出 Error: $sce:itypeString Value is Required for SCE Trust Call即使我在返
我有一个警报如下: $scope.addAlert('danger', $sce.trustAsHtml('Invalid Alias Name: Certain limitations apply
这是我正在尝试做的事情 $sce.trustAsHtml('') 在我的 HTML 代码中只打印 但我期待ng-class $sce之前要评估的属性返回它。我的代码有点像这样工作 如何做到这一点?
我在一个页面上有 2 个 div。当用户单击 button1 时,iframe 会加载到 div1 中,button2 和 div2 也是如此。 iframe 通过 ajax 加载并通过 $sce.t
我知道 $sce.trustAsHtml() 可以让 AngularJS 按原样显示 HTML。经过一番坐立不安后,我意识到这并不适用于所有情况。特别是当该数据中包含其他标签时。 如果我使用简单的 H
我正在尝试将字符串解析为字符数组,用 包围每个字符。 。提交解析的函数有效,每个字符都被 包围标签。解析函数: app.controller('tableCtrl',function($scope
我正在尝试制作一个自定义过滤器,用 替换新行,像这样: angular.module('appFilters', []).filter('break_lines', ['$sce', functio
我必须呈现一个字符串 (item.tabs.review.content),使用 $sce.trustAsHtml 将其解析为 HTML。 我遇到的主要问题是在字符串中引用了项目对象 (item.ta
我不确定我在这里遗漏了什么,但出于某种原因,我的 iFrame 被呈现为文本而不是 HTML。我们正在使用 Angular 1.3.15。 这是我的看法: 这是我的 Controller : vm.
使用我在相关问题中找到的解决方案 ( How do you use $sce.trustAsHtml(string) to replicate ng-bind-html-unsafe in Angul
我是 AngularJS 的新手,我觉得我只是触及了该框架可能实现的功能的皮毛。但是,我遇到了 sce.trustAsHtml 函数的问题。我正在运行 AngularJS 1.2.4。 在我的应用程序
http://codepen.io/pondnetic/pen/qdxGVV 我的 ionic 应用程序中显示了一个由几行 html 组成的 javascript 字符串 to_trusted 是一
为什么我不能这样做: {{data | htmlfilterexample}} 当我在过滤器内返回时: return $sce.trustAsHtml(input); 使用 无论过滤器是否返回 inp
我面临的问题是我从服务器获取一些代表 html 的字符串我需要解析某些节点的样式属性,然后使用 Angular 在 View 中显示此 html。 所以我看到这个答案 https://stackove
我正在尝试通过将 ng-bind-html 与过滤器一起使用来显示我在 div.testData 中收到的 html 内容。我已经在我的应用程序中包含了“ngSanitize”。但不知何故,它只部分起
我正在用 Angular 编写一个 REST 应用程序,我想为它编写单元测试(当然!)。我有一个 Controller ,它从 json 中的 REST 服务获取博客文章列表,并将摘要放入 $scop
我正在尝试使用 Angular 将自定义 html 打印到屏幕上。我将 $sce.trustAsHtml 与 ng-bind-html 结合使用来完成此任务。目标不仅是能够打印此自定义 html,而且
我是一名优秀的程序员,十分优秀!