如何用angularjs指定一段html拿来预览

JavaScript08

如何用angularjs指定一段html拿来预览,第1张

1.首先定义一个angularJS的过滤器,作为处理html文本的通用过滤器。

define([ "app",], function (app) {

app().registerFilter("trusted", ["$sce", function ($sce) {return function (html) {if (typeof html== 'string') //判断类型为字符串

return $sce.trustAsHtml(html)

return html

}

}])

})

sce 即 strict contextual escaping,严格模式下的上下文隔离,也可以理解为安全绑定,类似于浏览器的同源加载策略,不能加载不同域下的文件及不鞥呢使用不和要求的协议,angularJS为了避免安全漏洞,有些ng-src或ng-include都会进行安全检查,避免了一些跨站的XSS。angularJS是默认开启sce的,所以html文本得使用授权信任加载的html文本。

$sce是angularJS自带的安全处理模块,$sce.trustAsHtml()方法将值转换为特权所接受并能安全地使用“ng-bind-html”,就实现在数据加载时对于html标签的自动转义。

类似于下面这样吗?new Function()这么方便的函数干嘛不用。

<script>

function runCode(obj)

{run=new Function(obj.value)

ph.innerText=run()}

</script>

<body>

<textarea>sum=2*3return sum</textarea>

<button onclick="runCode(this.offsetParent.getElementsByTagName('textarea')[0])">运行代码</button>

<div id="ph" style="height:3emmargin:1em 10 10 0border:solid 1 gray">

</div>

</body>

亲,直接打开浏览器查看不就可以了,或者使用DreamWeaver的视图功能,不过很多时候可能不准确,在不同的浏览器下一边编辑html+css+js一边用不同的浏览器打开进行浏览,这是最准确的