Javascript padStart() 在警告框中正常工作,但在 Dynamics 365 CRM 的电子邮件记录中不正常

Javascript padStart() working correctly in alert box but not in email record in Dynamics 365 CRM

我创建了一个从 CRM 记录中获取值的操作,该记录附加在 stringbuilder 中。在正在构建的字符串中,我需要在字符串之间添加相当于 10 个空格的内容,如下所示:

for(var i = 0; i < ltRecordSnsAndLocations.length; i++)
{
    if(i < ltRecordSnsAndLocations.length - 1)
    {
        injectionString += (i+1).toString() + ". " + ltRecordSnsAndLocations[i][0].toString() + String("System Location:  ").padStart(String("System Location:  ").length+10,' ') + ltRecordSnsAndLocations[i][1].toString() + "\n";
    }

从下面警告框中的输出可以看出,这似乎工作正常:

如您所见,在数字项目符号值和系统位置之间有正确的填充,这正是我想要的。

如前所述,我在 CRM 中创建了一个操作,它将此字符串输入到由变量 injectionString 表示的电子邮件记录中,如下所示:

但是,当工作流启动并填充传入的 injectionString 时,它会忽略 padStart,如下所示:

我已经为此苦恼了一段时间。需要注意的是,我在 Chrome 和 Edge 浏览器中都进行了测试。非常感谢对此的任何帮助。

以下博文为我的问题提供了解决方案:
https://blog.hubspot.com/website/html-space

The simplest way to add a space in HTML (besides hitting the spacebar) is with the non-breaking space entity, written as &nbsp; or &#160;. Multiple adjacent non-breaking spaces won’t be collapsed by the browser, letting you “force” several visible spaces between words or other page elements.