封装在光标位置插入文本内容

该代码段展示了在不同浏览器环境下,如何利用JavaScript实现向文档中插入内容并设置光标位置的功能。针对IE9以下和现代浏览器,分别采用不同的处理方式,涉及document.selection和window.getSelection() API。
//在光标位置插入内容
export const insertContent = content => {
	if (!content) {
		//如果插入的内容为空则返回
		return
	}
  let sel = null
  if (document.selection) {
    //IE9以下
    sel = document.selection
    sel.createRange().pasteHTML(content)
  } else {
    sel = window.getSelection()
    if (sel.rangeCount > 0) {
      let range = sel.getRangeAt(0) //获取选择范围
      range.deleteContents() //删除选中的内容
      let el = document.createElement('div') //创建一个空的div外壳
      el.innerHTML = content //设置div内容为我们想要插入的内容。
      let frag = document.createDocumentFragment() //创建一个空白的文档片段,便于之后插入dom树

      let node = el.firstChild
      let lastNode = frag.appendChild(node)
      range.insertNode(frag) //设置选择范围的内容为插入的内容
      let contentRange = range.cloneRange() //克隆选区
      contentRange.setStartAfter(lastNode) //设置光标位置为插入内容的末尾
      contentRange.collapse(true) //移动光标位置到末尾
      sel.removeAllRanges() //移出所有选区
      sel.addRange(contentRange) //添加修改后的选区
    }
  }
}
内容概要:本文介绍了AI Agent智能体的基本概念及其应用场景,并详细讲解了如何从零开始打造AI Agent。首先,文章解释了人工智能、机器学习、深度学习等基础知识,以及大语言模型(LLM)的特点和应用。接着,文章深入探讨了AI Agent的概念、与传统程序的区别,以及其在自媒体、智能客服、自动驾驶、股票交易和游戏NPC等多个领域的应用。随后,文章以字节跳动的“扣子(COZE)”平台为例,详细介绍了打造AI Agent的七个步骤,包括需求梳理、软件选型、提示工程、数据库搭建、UI界面构建、测试评估和部署发布。最后,文章通过两个项目实战案例——抖音短视频文案转小红书笔记和小红书文案+OCR+飞书同步,展示了如何实际应用AI Agent进行内容创作和数据理。适合人群:对AI和机器学习有一定了解的研发人员、产品经理和技术爱好者,特别是那些希望深入了解AI Agent的应用和开发过程的人群。使用场景及目标:①帮助读者理解AI Agent的基本概念及其与传统程序的区别;②指导读者如何使用COZE等平台创建自己的AI Agent;③通过具体案例展示AI Agent在内容创作和数据理方面的实际应用。其他说明:本文不仅提供了理论知识,还结合了实际操作步骤和代码示例,帮助读者更好地理解和实践AI Agent的开发。建议读者在学习过程中结合实际项目进行实践,并尝试调整和优化各个步骤中的参数和设置,以获得最佳效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值