问题标签 [ngsanitize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - Angular sanitize / ng-bind-html 不起作用?
我已经设置了一个转发器,只要其中没有 html,就可以获取要显示的数据。
我已经包含angular-sanitize.js
并尝试使用ng-bind-html
但是跨度内没有显示任何内容,仅在ng-bind-html
属性内显示。所以看起来 sanitize 不起作用,
我读到这需要添加到应用程序依赖项中,但不确定在哪里这样做。
我刚刚在 Angular 网站上完成了 tut,所以现在只设置了一个非常基本的控制器。
angularjs - 使 ngSanitize 与
I've working on an AngularJS solution, in which ngSanitize is used to sanitize markup received from an Ajax call.
This markup will occasionally contain iframe tags.
When I test the app with iframe tags, ngSanitize seems to remove them.
Do you have any suggestions as to how to get ngSanitize to ignore iframe tags and allow them to render?
html - 如何使用 ngSanitize 正确转义特殊字符?
我想让用户输入特殊字符,例如“&”,然后在提交页面时将它们转换为正确的 html。ex "&" => "&" 我已阅读示例并找到ng-bind-html和$sce。
看来 ng-bind-html 对我的需要没用,因为它只会显示从控制器发送的 html 文本,在视图中正确转换。例如:它将向用户显示“&”为“&”。所以我正在做的是在控制器上使用“$sce”转换字符,然后再将其发送到服务器。前任:
这是正确的方法吗?或者是否有一种直接的方法来绑定视图以将经过清理的文本传递给控制器,就像 ng-bind-html 但在双向绑定中一样?我正在使用Angular 1.2.4。
javascript - ng-bind-html 不适用于输入标签
我正在尝试将 HTML 存储在范围变量中,然后在模板视图中使用它。当我在阅读如何以角度进行此操作时,我遇到了ng-bind-html
. 在那我注意到,当我用 , 等绑定 html 标签时<a>
,<strong>
它可以工作。但我无法为其添加<input>
标签。
意思是,这有效:
模板:
但这不起作用:
模板:
以上只是一个简化的示例,仅用于演示目的。我的问题是:
1) 标签不能与 ng-bind-html 指令一起使用吗?
2)如果没有,我怎样才能 html 绑定输入标签,以便我可以将其插入到视图中?
angularjs - ngSanitize 不允许允许 id 属性
我ngBindHtml
用来显示来自(内部)CMS 的一些 HTML:
HTML 包含一个带有id
属性的链接:
但是,我注意到 id 属性在写入页面链接之前被 angular 删除了,所以渲染的只是:
查看 ngSanitize 模块的源代码,似乎由于某种原因 id 属性不在有效属性列表中:
https://github.com/angular/angular.js/blob/master/src/ngSanitize/sanitize.js#L206
- 不允许 id 属性的原因是什么?是否存在安全风险?
- 如果可能的话,我真的很想继续使用 ngBindHtml。是否有可以将安全标签添加到消毒剂列表的 API?还是我必须自己编辑源才能添加此标签?
javascript - $sce.TrustAsUrl not Working
I am trying to create an app using angularjs where the input is taken from the input box and is displayed. It is similar to a chat. So the input can contain urls and I am converting them to links with the help of Autolinker.js which I found in this SO question How to replace plain URLs with links? . To inject html in angular binding I am using ngSanitize but I want only the urls to be changed to links and anything like 2<3 should be printed as 2<3 but should not be read as HTML tag.
I even used $sce but it didnt work. It is giving an error Parse Error
with 2<3
There is a better option using linky
but it is not able to convert urls without http.
Fiddle with the 3 options:http://jsfiddle.net/JY3Za/58/ (PS:Here I just used a RegEx for testing)
So what would be the best way to inject html in angular while using the Autolinker.js so that only and tags are allowed but anything other than these should be displayed as plain text..?
javascript - AngularJS 使用 $sce.trustAsHtml 和 ng-repeat
我正在尝试将 $sce.trustAsHtml() 与 ng-repeat 中的对象属性一起使用。结果是 HTML 是完全空白的。虽然使用 ngSanitize 正确输出 HTML。
顺便说一句,我在 AngularJS v1.3.0-beta.3 上。不确定是否有错误或我做错了什么。
angularjs - 将 ngsanitize 添加到 mean.io
我是平均堆栈的新手,正在尝试添加 ngSanitize。我在命令行上安装并看到 /bower_components/ 中的库,但 angular-sanitize.js 脚本没有加载到应用程序上。我错过了这一步吗?我尝试将模块添加到 /public/init.js 中的默认模块,但仍然没有运气。
bower.json 文件看起来也正确:
{“名称”:“意思”,“版本”:“0.4.0”,“依赖项”:{“jquery”:“1.x”,“jquery-ui”:“~1.10.3”,“角度” :“最新”,“角度资源”:“最新”,“角度饼干”:“最新”,“角度模拟”:“最新”,“角度路线”:“最新”,“引导程序”:“ 3.1.1”、“angular-bootstrap”:“0.11.0”、“angular-ui-router”:“#master”、“angular-sanitize”:“~1.2.22”}}
angularjs - Angular ngSanitize / ngDragDrop 兼容性
因此,我正在开发一个 Angular 应用程序,并且在 ngSanitize 和 ngDragDrop 之间的兼容性方面遇到了问题。ngDragDrop 可以在http://ganarajpr.github.io/angular-dragdrop/找到,ngSanitize 可以在https://docs.angularjs.org/api/ngSanitize/service/$sanitize找到。
在我的应用程序模块中包含 ngSanitize 的那一刻,角度代码完全停止工作。
我有一个名为 compatibility.html 的测试文件
还有一个叫compatibility.js
我不知道为什么它不起作用,我不知道该怎么做。假设,评估{{3+1}}
应该在代码运行时返回 a 4
,但事实并非如此。我已经分别使用了 ngSanitize 和 ngDragDrop,只有当我尝试同时使用两者时才会出现问题。
javascript - 最后带有转义双引号的 URL 会破坏 ngSanitize
我在 Angular 项目中使用来自 Twitter 的消息。我正在使用 linky 将推文中的网址显示为可点击的链接。我的问题是,当在链接中的 url 之后立即使用双引号时,解析 url 的 ngSanitize 会导致错误。
此消息不会导致任何问题:
“文本”:“RT @SPORTBILD:.@GaryLineker lobt das @DFB_Team in höchsten Tönen!下 er sagt:\“Dankeschön!\”视频:https : //t.co/zwWWa7LpvD \n#SportBildAwa…”
此消息导致错误:
“文本”:“RT @NUFC_1980_1994:\”@turnipheadpic:1986 年码头市场 c/o 纽卡斯尔图书馆http://t.co/b8MueTjx9I \“#nufc #safc”
错误信息:
如您所知,ngSanitize 没有正确处理转义的双引号。它被认为是 url 的一部分,并且解析失败。
有人知道这个问题的解决方案吗?