我有这个通过 AJAX 请求获得的嵌入代码:
<iframe src="//player.vimeo.com/video/80836225?badge=0" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
然后,在控制器中,我尝试将其分配给一个变量,以便它在 HTML 中呈现。我使用的是 $sce.trushAsHtml,而在 HTML 中我使用的是 ng-bing-html。
我在控制器中所做的事情是这样的。从请求中获取响应后,我将 iframe 字符串分配给名为 myIframe 的 var,然后使其通过 $sce.trushAsHtml。所以:
控制器
var myIframe = ...response from GET (the <iframe> string above)
$scope.preview = $sce.trustAsHtml(myIframe);
HTML
<div ng-bind-html="preview"></div>
我确实可以显示视频,但我也在控制台中收到此错误:
Error: a.indexOf is not a function
z@http://mydomain/angular/angular-sanitize.min.js:7
@http://mydomain/angular/angular-sanitize.min.js:12
@http://mydomain/angular/angular-sanitize.min.js:12
h.prototype.$digest@http://mydomain/angular/angular.min.js:100
h.prototype.$apply@http://mydomain/angular/angular.min.js:103
f@http://mydomain/angular/angular.min.js:67
E@http://mydomain/angular/angular.min.js:71
pd/</v.onreadystatechange@http://mydomain/angular/angular.min.js:72
我想摆脱这个错误。我怀疑它与 angularjs 中的 $digest 循环有关,但不知道如何修复它。知道为什么会这样吗?
谢谢。