Javascript 在角度可编辑的编辑表中显示iFrame
我使用的是angular xeditable,下面是我的可编辑元素:Javascript 在角度可编辑的编辑表中显示iFrame,javascript,html,angularjs,iframe,x-editable,Javascript,Html,Angularjs,Iframe,X Editable,我使用的是angular xeditable,下面是我的可编辑元素: <div class="like-pre" editable-textarea="question.answer" e-rows="10" e-cols="40" onbeforesave="validateFaq($data, 'answer')" ng-bind-html="question.answer"></div> 在controller中,我使用$sce.trustAsHtml使quest
<div class="like-pre" editable-textarea="question.answer" e-rows="10" e-cols="40" onbeforesave="validateFaq($data, 'answer')" ng-bind-html="question.answer"></div>
在controller中,我使用$sce.trustAsHtml使question.answer显示为常规HTML而不是原始文本。HTML可以包含youtube视频或img元素的iframe。它起作用了
问题是,在我通过可编辑元素更改了问题中的任何内容后,IFRAME元素会完全消失。IMG元素在编辑后仍然正确显示
有人知道出了什么问题吗?找到了解决办法。问题是xeditable只更新模型数据。模型更新后,它通过角度绑定更新可编辑的div元素。Iframe未显示,因为新模型内容未作为受信任内容签名 我曾尝试在onaftersave中通过$sce.trustAsHtml传递question.answer变量,但它没有做任何事情。这是因为trustAsHtml没有改变任何东西,我想它只是将其标记为trusted,但不知道它在内部是如何工作的 解决方案是这样添加空空间:
$sce.trustAsHtml(newQuestion.answer + ' ');
所以angular发现模型已经更改,并使用new-trusted作为html-content重新加载editabel div