1

我正在使用JSForce对 salesforce 进行 api 调用。我正在尝试使用此 api 添加任务

const body = `<a href=${process.env.CONSOLE_URL}/myUrl/${id}>Click Here</>`
 const createObj = {
      WhoId: contact.Id,
      Subject: 'Call',
      CallDisposition : 'Call',
      Description : body
    };
 this.conn.sobject("Task").create(createObj, function(err, result) {
    if (err) return reject(err);
    return resolve(result);
  })

它按预期工作,除了该body(Description)部分包含一些 html 标签,因此它不会解析它,而是像在评论部分一样粘贴。请帮忙。

4

2 回答 2

1

当评论作为安全措施上传时,后端可能会转义 html 字符;在它被存储到数据库之前或在它返回给客户端之前。
这在逻辑上应该禁止用户上传恶意标签并且是标准的。

我建议不要上传 html 标签,而是上传 markdown 标签,您可以在此处body(description)找到信息。

然后你需要一个脚本在渲染之前将 Markdown 转换回 html。

于 2021-11-09T14:11:34.323 回答
1

Description是一个纯文本字段,因此它不会解析 HTML。一般来说,解决方案是为您的对象添加一个正确类型的自定义字段并填充该字段。允许 HTML 和/或其他标记的字段类型是Text Area (Rich)

文本区域(丰富)

[...] 用户可以格式化字段内容并添加图像和超链接。[...] 最大字段大小为 131,072 个字符,包括所有格式和 HTML 标签。

不幸的是,活动(任务是活动的一种)不允许文本区域(丰富)类型的自定义字段。可用于活动自定义字段的另一种字段类型是URL

允许用户输入最多 255 个字符的任何有效网站地址。记录详细信息页面上仅显示前 50 个字符。当用户单击 Salesforce Classic 中的字段时,URL 在单独的浏览器窗口中打开。在 Lightning Experience 中,内部 URL 在同一窗口中打开,外部 URL 在单独的浏览器窗口中打开。在 Salesforce 控制台应用程序中,URL 在新的工作区选项卡中打开。在 Lightning 控制台应用程序中,内部 URL 在新的工作区选项卡中打开,外部 URL 在单独的浏览器窗口中打开。

您可以在描述字段中使用纯文本,而不是在一个字段中使用 HTML 标记,其中包含单击自定义 URL 类型字段中包含的链接的说明。

于 2021-11-15T00:34:24.513 回答