要解决AEM富文本编辑器删除国际电话链接中包含"+"字符的问题,可以通过以下代码示例实现。
在AEM的客户端库中创建一个自定义JavaScript文件,命名为custom.js,然后将以下代码添加到该文件中:
(function ($) {
$(document).on("dialog-ready", function () {
// 获取所有的富文本编辑器字段
var richTextFields = $(".cq-RichText");
// 遍历每个富文本编辑器字段
richTextFields.each(function () {
var $this = $(this);
var $editor = $this.find(".cq-RichText-editable");
// 监听富文本编辑器的输入事件
$editor.on("input", function () {
var text = $editor.html();
// 检查是否存在国际电话链接
if (text.indexOf("
接下来,将custom.js文件添加到所需的AEM页面或组件的客户端库中。可以通过在页面或组件的clientlibs文件夹中创建一个新的custom文件夹,并在该文件夹中创建一个js文件夹放置custom.js文件。
最后,在页面或组件的clientlibs文件夹中的clientlib的js.txt文件中,添加以下行来引用custom.js文件:
#base=...
...
custom.js
重新编译和刷新AEM页面后,可以看到AEM富文本编辑器将不会删除国际电话链接中包含"+"字符的链接。