javascript - 将 ng-model 设置为包含 </script> 的字符串 clogs Angular?

标签 javascript html angularjs model escaping

我在 ng-model 文档中摆弄 Angular 自己的站点使用的 plunker:

http://plnkr.co/edit/?p=preview

如果将 $scope.val 设置为其中包含“</script>”位的任何字符串,则示例将起作用:

       $scope.val = 'problem </script> why?'

我发现的唯一解决方法是转义/ala:

       $scope.val = 'no problem like this <\/script> whats going on?'

任何其他标签(例如“span”、“div”等)似乎都不会发生这种情况。这个“功能”是否记录在某处?

最佳答案

这里的问题很简单,就是 </script> javascript 代码中间的内容被浏览器解释为 script 标记的结束。

这种情况下的常见解决方法是将其写为 '<' + '/script>'相反。

http://www.w3.org/TR/html4/interact/scripts.html

stackoverflow 中的类似问题:

Why split the <script> tag when writing it with document.write()?

关于javascript - 将 ng-model 设置为包含 &lt;/script&gt; 的字符串 clogs Angular?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30805954/

相关文章:

javascript - 在 chrome 扩展中向用户显示消息

javascript - 如何修复 $scope 选择选项数组中的未定义结果?

javascript - 如何更改具有特定 url 的所有 href?

html - 如何在李内居中图像?

javascript - 在使用 modernizr 后也无法在 ie8 和 ie7 上使用我的子菜单?

javascript - 特定日期所有事件的总特定属性 - Fullcalendar

javascript - Angular JS - 当文本字段失去焦点时显示验证错误

javascript - 如何使用正式自定义模板初始化传单 map ?

javascript - AngularJS 按 ASC 排序

javascript - 如何使用underscore.js对文本混合数字进行排序