HTML 未使用 $sce 和 ng-bind-html 在 Salesforce 上呈现

HTML not rendering on Salesforce using $sce and ng-bind-html

我使用 Salesforce 作为后端,我的用户可以获得一些通知,这些通知可能包含一个带有 link 的标签到某个地方。这就是说我在控制器中使用 $sce 来执行这样的功能:

vm.to_trusted = to_trusted;
function to_trusted(html_code) {
    return $sce.trustAsHtml(html_code);
}

在前端我是这样使用它的:

<p ng-bind-html="vm.to_trusted(message.body)"></p>

返回的 message.body 的一个例子是

<a href="/#/app/profile">Click Here to Fill out your Profile</a>. It will allow you

在本地主机上,显示的是 link 而不是标签,效果非常好。在 Salesforce 上,情况并非如此,而是显示了上述内容。关于为什么这不起作用的任何想法?

更新:

是的,我确实包含了 ngSanitize :)

Salesforce @dispatch 以一种奇怪的方式请求序列化文本。

如果 Salesforce 字符串的内容是:'<a href="">Things</a>' 您将在 Angular 中看到您已收到:&lt;a href=&quot;$quot;&gt;Things&lt;a&gt;

我找到的解决方案是,在您的控制器中:

function to_trusted(html_code) {
  // Cause the &ltg; etc become '<'
  return $('<textarea />').html(html_code).text();
}

因为 Salesforce。