当前位置: 首页 > news >正文

没有专项备案的网站企业网站建设 优化

没有专项备案的网站,企业网站建设 优化,广州市律师网站建设公司,打开app登录1.背景: 最近接到一个需求,在一个类似chatGpt的聊天工具中,要在对话框中设置模板,后端提供了很多模板参数,然后要求将后端返回的特殊字符转成按钮,编辑完成后在相应的位置拼接成字符串。 2.效果&#xff1a…

1.背景:

最近接到一个需求,在一个类似chatGpt的聊天工具中,要在对话框中设置模板,后端提供了很多模板参数,然后要求将后端返回的特殊字符转成按钮,编辑完成后在相应的位置拼接成字符串。


2.效果:

在点击发送后,页面上就是如此拼接后的字符串


当然,还进一步拓展了其功能,比如可以上传文件,解析出来后和其他字符拼接


3.实现

 要注意的是:你和后端约定好特殊字符的格式,比如我这里是的是:

text:"|`社工背景`| 根据信息介绍,请你写一封内容丰富的|`诱饵类型`|电子邮件"

 以下是完整的实现代码

// template 部分
<div id="text-container"> </div>// 功能部分,我封装成了三个函数,使用时updatePageWithText传入即可
function updatePageWithText(textData:any) {const regex = /(\|`[^`]+`\|)/g; // 匹配 |` 和 `| 之间的内容const newText = textData.replace(regex, function (match:any) {// 去除 |` 和 `|,同时为匹配文本创建一个可点击的 spanconst cleanMatch = match.replace(/\|`|`\|/g, '');return `<span class="green-text">${cleanMatch}</span>`;}).replace(/\+/g, ' '); // 把 `+` 替换为空格以正确显示文本const textContainer:any = document.getElementById('text-container');textContainer.innerHTML = newText;// 为所有绿色文本添加点击事件监听const greenTexts = textContainer.querySelectorAll('.green-text');greenTexts.forEach(function (greenText:any) {greenText.addEventListener('click', function () {convertToInput(this);});});
}function convertToInput(element:any) {const input = document.createElement('input');input.type = 'text';input.value = element.textContent;input.className = 'green-text'; // 保持输入框具有相同的类名,这样它的外观与span时相同// 添加失焦事件处理器以在输入结束时替换文本input.addEventListener('blur', function () {finishInput(element, this);});// 添加回车键事件处理器以在按下回车时替换文本input.addEventListener('keydown', function (event) {if (event.key === "Enter") {finishInput(element, this);}});element.replaceWith(input); // 替换 span 元素为输入框input.focus();
}function finishInput(spanElement:any, inputElement:any) {// 创建一个新的span元素来替换输入框const newSpan = document.createElement('span');newSpan.textContent = inputElement.value; // 使用输入框的值newSpan.className = 'green-text'; // 恢复原来的类名,以便保持外观和行为newSpan.addEventListener('click', function () {convertToInput(newSpan); // 添加点击事件,使得新的span也可以被点击并转换});inputElement.replaceWith(newSpan); // 替换输入框为新建的span元素
}

http://www.yayakq.cn/news/765201/

相关文章:

  • 汽车商城网站模板免费下载济源专业做网站公司
  • 搭建好网站如何使用广州营销网站建设设计
  • 青建设厅官方网站海省郑州模板建站平台
  • 电子商务网站建设的目的意义郑州网站制
  • 长沙个人网站建设北京移动端网站优化
  • 网站开发的需求分析建设一个网站所需要注意的
  • 网站建设用自助建站系统好不好大连网站建设联合企邦
  • 海南省做购房合同网站桂林seo公司
  • 合肥哪家做网站泰州建设信息网站
  • 单位网站开发合同网站实现功能
  • 成都网站建站推广百度图片识别搜索引擎
  • 设计网站主页要多少钱雷州市规划建设局网站
  • 新郑网站优化烟台莱州网站建设
  • 汽车网站更新怎么做如何增加网站转化率
  • 扬中网站优化公司怎么注册官方网站
  • 网站能需要怎么做才不会被攻击五屏网站建设品牌
  • 音乐中文网站模板网站里的横幅广告怎么做
  • 成都电子商城网站开发榆中县城乡建设局网站
  • 中学网站建设工作实施方案百度学术论文查重入口
  • 别人给我们做的网站如何关闭学校网站模板下载
  • 做网站首页图的规格网络服务主要包括哪几项
  • 地方门户网站的出路和平手机网站建设
  • 火狐浏览器网站开发人员小程序开发平台找哪家好
  • 改版网站收费网站中转页怎么做
  • 温州网站设计工作室西安短视频运营公司
  • 南京企业网站做优化建设一个功能简单的网站
  • 平面设计工作室网站做茶歇的网站
  • 上海微信网站公司做电影网站赚钱的方法
  • 手机开源网站代码律师微网站制作
  • 单页网站在线生成电子商务网站html模板