Javascript padStart() 在警报框中正常工作,但在 Dynamics 365 CRM 中的电子邮件记录中不能正常工作
Posted
技术标签:
【中文标题】Javascript padStart() 在警报框中正常工作,但在 Dynamics 365 CRM 中的电子邮件记录中不能正常工作【英文标题】:Javascript padStart() working correctly in alert box but not in email record in Dynamics 365 CRM 【发布时间】:2022-01-08 09:51:39 【问题描述】:我创建了一个操作,该操作从附加在字符串生成器中的 CRM 记录中获取值。在正在构建的字符串中,我需要在字符串之间添加相当于 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 浏览器中都进行了测试。非常感谢您对此提供任何帮助。
【问题讨论】:
我在贴出的代码中没有看到 padStart 警告框使用纯文本,它保留了空白。将文本添加到 html 元素时,额外的空白将被截断为视图上的单个字符。将white-space CSS 规则添加到元素可能会有所帮助? @danh 它在那里:String("系统位置:").padStart(String("系统位置:").length+10,' ') 对不起 - 我现在看到了。旁注:循环中的一些中间字符串变量将有助于调试并帮助未来的代码读者。 【参考方案1】:以下博文为我的问题提供了解决方案:https://blog.hubspot.com/website/html-space
在 HTML 中添加空格的最简单方法(除了按空格键) 是与不间断的空间实体,写为
&nbsp;
或&#160;
。 多个相邻的不间断空间不会被 浏览器,让您“强制”单词之间的几个可见空格或 其他页面元素。
【讨论】:
以上是关于Javascript padStart() 在警报框中正常工作,但在 Dynamics 365 CRM 中的电子邮件记录中不能正常工作的主要内容,如果未能解决你的问题,请参考以下文章