首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有Trix编辑器的At.js :错误“给定的范围不在文档中”。

带有Trix编辑器的At.js是一个用于实现@提及功能的JavaScript库。它可以在文本编辑器中实现类似社交媒体平台中的@功能,允许用户在输入框中提及其他用户或特定对象。

错误“给定的范围不在文档中”通常是由于在使用Trix编辑器时,传递给At.js的范围参数超出了文档的范围导致的。范围参数用于指定At.js应该在哪个范围内进行@提及的搜索和匹配。

要解决这个错误,可以检查传递给At.js的范围参数是否正确,并确保它在文档的有效范围内。可以使用Trix编辑器提供的API来获取当前文档的范围,并将其传递给At.js。

以下是一个示例代码片段,展示了如何使用Trix编辑器和At.js来实现@提及功能:

代码语言:javascript
复制
// 创建Trix编辑器实例
var editor = new Trix.Editor(document.getElementById('editor'));

// 创建At.js实例
var at = new AtJS({
  at: '@',
  data: ['user1', 'user2', 'user3'], // 用户数据,可以从后端获取
  displayTpl: '<li>${name}</li>', // 显示模板
  insertTpl: '@${name}', // 插入模板
  limit: 5, // 最多显示的匹配项数量
  startWithSpace: true // 是否需要在@之前输入空格才触发匹配
});

// 监听Trix编辑器的input事件,在输入时触发@提及匹配
editor.addEventListener('input', function() {
  var range = editor.getSelectedRange(); // 获取当前文档的范围
  var text = editor.getDocument().toString(); // 获取当前文档的文本内容
  var keyword = at.getKeyword(text, range[0]); // 获取@关键字

  if (keyword) {
    var matches = at.match(keyword); // 匹配@关键字
    var suggestions = matches.map(function(match) {
      return { name: match };
    });

    at.showSuggestions(suggestions); // 显示匹配项
  } else {
    at.hideSuggestions(); // 隐藏匹配项
  }
});

// 监听At.js的select事件,在选择匹配项时插入@提及
at.on('select', function(item) {
  var mention = at.insert(item); // 插入@提及
  editor.insertHTML(mention); // 在Trix编辑器中插入@提及
});

在上述示例中,我们创建了一个Trix编辑器实例和一个At.js实例。通过监听Trix编辑器的input事件,我们可以在用户输入时触发@提及的匹配。当用户输入@关键字时,At.js会根据提供的用户数据进行匹配,并显示匹配项。用户可以通过键盘选择匹配项,并将其插入到Trix编辑器中。

请注意,上述示例中的代码仅用于演示目的,实际使用时需要根据具体需求进行适当的修改和调整。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云对象存储(COS)、腾讯云数据库(TencentDB)等。你可以在腾讯云官网上找到这些产品的详细介绍和文档。

腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm

腾讯云对象存储(COS):https://cloud.tencent.com/product/cos

腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

「首席架构师推荐」一系列很棒浏览器端JavaScript库资源

JSHint - JSHint是一个有助于检测JavaScript代码错误和潜在问题工具。 jscs - JavaScript代码样式检查器。...CodeMirror - 浏览器内代码编辑器。 esprima - 用于多功能分析ECMAScript解析基础设施。 quill - 带有API跨浏览器富文本编辑器。...Squire - HTML5富文本编辑器。 TinyMCE - JavaScript Rich Text编辑器trix - 用于日常写作富文本编辑器。通过Basecamp。...popline - Popline是一个HTML5富文本编辑器工具栏。 文档 DevDocs是一个一体化API文档阅读器,具有快速,有条理和一致界面。...ESDoc是一个很好JavaScript文档生成器。 YUIDoc是一个Node.js应用程序,它使用类似于Javadoc和Doxygen等工具语法,从源代码注释生成API文档

6.6K21

「沙里淘金」精选浏览器端JavaScript库资源推荐

JSHint - JSHint是一个有助于检测JavaScript代码错误和潜在问题工具。 jscs - JavaScript代码样式检查器。...CodeMirror - 浏览器内代码编辑器。 esprima - 用于多功能分析ECMAScript解析基础设施。 quill - 带有API跨浏览器富文本编辑器。...Squire - HTML5富文本编辑器。 TinyMCE - JavaScript Rich Text编辑器trix - 用于日常写作富文本编辑器。通过Basecamp。...popline - Popline是一个HTML5富文本编辑器工具栏。 文档 DevDocs是一个一体化API文档阅读器,具有快速,有条理和一致界面。...ESDoc是一个很好JavaScript文档生成器。 YUIDoc是一个Node.js应用程序,它使用类似于Javadoc和Doxygen等工具语法,从源代码注释生成API文档

5.9K20
  • xwiki管理指南-访问权限

    从XWiki 5.0版本开始,我们使用新安全模块。虽然与之前权限几乎兼容,但是还是有一些细微差别。要获得最准确信息,请查看安全模块文档。 权限可以被设置为不同范围或者不同层次。...不幸文档评论区一些带有链接评论会被搜索引擎认为是作弊。为了使你网站公开,同时防止自动化评论,你可以要求访客在评论前填写一个验证码。...一个管理员可以在用户文档(xwiki用户也是一个文档对象编辑器上修改"active"来激活账号(admin对象编辑器位于:http://127.0.0.1:8080/xwiki/bin/edit/...当一个权限在一定范围(页面,空间或全局)明确设置给定组或用户,那么其他组和用户也必须有明确设置,在这个范围或更大范围。...例如,当你明确允许在一个给定空间给“GroupA”组一个查看权限,那不在“GroupA”组成员用户必须在这个空间有明确查看权限设置或者在全局明确设置查看权限。

    2K10

    每周分享第 26 期

    作者认为,这是错误。 加班真的是 IT 行业日常。...每周60、70、80工作小时中,有多少是真正用于工作本身?又有多少时间是在会议浪费掉,或被各种琐事打断?大部分吧。...Firefox 推出 VR 设备专用网络浏览器。 ? 教程 1、异常处理是错误设计(英文) 许多主流语言都采用抛出异常方式处理错误,这篇文章认为,这种设计是错误,传统返回值是更好方式。...2、Bing 图像搜索 ? 与谷歌一样,Bing 也提供图像搜索。但是,它还带有裁剪功能,可以只搜索图像一部分。 3、富文本编辑器 Trix ?...Rails 框架创造者 Basecamp 公司,开发了一个富文本编辑器 Trix,发布1.0版了。

    70010

    JavaScript资源大全中文版(Awesome最新版)

    ember.js -用于创建有抱负Web应用程序JavaScript框架 meteor -一个超简单数据库,无处不在,数据在线,纯JavaScriptWeb框架。...QA Tools QA工具 JSHint - JSHint是一个帮助您检测JavaScript代码错误和潜在问题工具。 jscs - JavaScript代码样式检查器。...trix - 一个丰富文字编辑器,用于日常写作。 Trumbowyg - 一个轻量级和惊人所见即所得JavaScript编辑器。 Draft.js - 一个构建文本编辑器反应框架。...noUiSlider - 轻便,高度可定制范围滑块,无膨胀。 rangeslider.js -HTML5输入范围滑块元素polyfill。...At.js -添加Github像提及自动完成您应用程序。 Placeholders.js - 用于HTML5占位符属性JavaScript polyfill。

    15.2K112

    xwiki功能-页面编辑

    这样修改可以包括但不限于:拼写错误更正,文本重排,格式。它目的是区分主要和次要修改。 默认情况下,minor编辑不会出现在“What's New”页面和文档历史页面。...自动保存 自动保存功能能在给定时间间隔内以次要版本自动保存文档。只需要点击编辑区下方Autosave复选框就可以自动保存。可以在复选框旁输入数字来改变自动保存时间间隔。 ?...用XWiki 企业1.7开始,我们有2个所见即所得编辑器,我们正在逐步淘汰旧使用XWiki语法1.0编辑器(基于TinyMCE)。...如果你文档使用XWiki语法2.0,或者如果你wiki默认配置为使用XWiki语法2.0,那么你就可以自动使用新所见即所得编辑器(基于GWT)。...类编辑模式调用当前页面上编辑器,允许编辑类并附到文档上。同样,这已经超出了简单指南范围。请查看开发人员指南,以了解更多关于类/对象编程。 ?

    2.1K10

    【实战】我是如何在输入框实现@ At功能

    所以推荐下面的库给大家、只要稍作改动就可以使用啦~~ Tribute.js(推荐, ES6) At.js JQ) contenteditable (例:QQ空间, 掘金) HTML5新属性规定元素内容是否可编辑...、可以做为编辑器使用,由于时间原因并没有深入体会、感兴趣小伙伴可以看一下以下内容 contenteditable-MDN contenteditable实现编辑器,光标、输入法处理 基于contenteditable...$refs.editor)“ 使用ref方式而不是ID方式呢? 使用ref好处是具有良好可重用性和范围。因为ref只留在这个组件,所以当您操作这个ref时,它不会干扰其他组件。...= ' '; //创建一个新空白文档片段,拆入对应文本内容 let frag = document.createDocumentFragment() frag.appendChild...这个功能只是在开发挤出来、很多东西写不够好、不够完善,希望本文能帮助您在开发节约一点时间。也欢迎大家提出踊跃反馈、希望能与大家共进步,加油~

    2.6K20

    前端富文本基础及实现

    前端富文本基础及实现 https://www.zoo.team/article/rich-text 前言 在日常生活我们会经常接触到各种各样文档格式和形式,其中富文本在文档格式扮演了重要角色。...这篇文章将会为大家介绍前端富文本一些基础知识以及简单实现思路。 什么是富文本 纯文本就是用纯文字编辑器编写,输入什么就是什么文档,只包含字符。...例如: 富文本编辑器富文本,是由红色框带有语义化标签和内联样式 html 渲染实现。通过富文本编辑器,即可实现富文本编写、展示。...在空白 HTML 文档嵌入一个 iframe,并将 designMode 属性设置为 on,文档就会变成可编辑,实际编辑则是 iframe 内 body 元素。...Selection 对象表示用户选择文本范围或插入符号的当前位置。它代表页面文本选区,可能横跨多个元素。文本选区由用户拖拽鼠标经过文字而产生。

    4.5K50

    React技巧之检查元素是否可见

    检查元素是否在视口范围内: 在元素上设置ref属性。...IntersectionObserver API使我们能够检查一个给定元素是否与文档相交。 useIsInViewport钩子接收一个指向我们想要追踪元素ref对象。...每个entry都描述了一个给定元素与根元素(文档)相交程度。我们解构了这个entry,因为我们IntersectionObserver只能跟踪一个元素(就是我们设置ref那个元素)。...如果元素不在视口中,该钩子将会返回false。 需要注意是,在初始渲染时,useIsInViewport 钩子将会返回false 。因为我们为useState传递初始值为false。...const [isIntersecting, setIsIntersecting] = useState(false); 如果你想跟踪钩子返回值变化,请使用useEffect钩子,并将该值添加到钩子依赖关系

    1K10

    作为JavaScript开发人员,这些必备VS Code插件你都用过吗?

    View Node Package:利用此插件可快速查看Node包源码,让你直接在VS Code打开Node包代码库或文档。...Search node_modules:通常node_modules文件夹不在默认搜索范围内,这个插件允许你搜索它。源码:vscode-search-node-modules。 ?...它带有很好发布在GitBook上文档。 Ember:为Ember提供了命令行支持和智能提示。安装完后,所有ember cli命令可直接在VS Code自己命令行列表中使用。...Quokka.js:非常厉害调试工具,为JavaScript提供了快速构建原型演练场,并且附带有很好文档。 Paste as JSON:快速地将JSON数据转为JavaScript代码。...像ESLint这样插件,帮助你避免代码常见错误;Debugger for Chrome,帮助你更容易地调试代码;带有智能提示Node.js插件帮助你正确引用模块;像Live Server和REST

    2.9K10

    疫情期间,我们找到了7个优秀远程“结对编程编码工具,开发者们都在用

    远程结对编程好处 远程结对编程有很多好处,包括: 提高生产率:研究表明,结对编程可以提高15%生产率。 更好代码质量:当两个或更多的人处理相同代码时,错误错误会更少。...Cloud IDEs:这些是在线代码编辑器,允许你在浏览器编写、编辑和调试代码。它们非常适合协作编码,因为它们允许多人在同一时间处理同一段代码。 本地IDEs:这些是安装在计算机上代码编辑器。...您可以决定任何人是否可以随意编辑,或者在给定时间(课堂模式)控制谁可以编辑。文件更改、依赖项更改和选择都在会话之间保持最新。...我们所探索大多数工具都是围绕单个编辑器构建,这限制了它们实用性,因为编辑器选择通常在团队没有标准化。...如果你还在努力缩小范围,我们推荐Visual Studio Live Share给那些致力于Visual Studio和Visual Studio Code的人,CodeTogether给混合编辑器团队

    66910

    IntelliJ IDEA 2024.1 更新亮点汇总:全面提升开发体验

    编辑器粘滞线 我们在编辑器引入了粘性线,以简化大文件处理和探索新代码库。当您滚动时,此功能会将关键结构元素(例如类或方法开头)固定到编辑器顶部。...此外,IDE 建议在需要地方添加记录器,并简化插入记录器语句,即使记录器实例不在范围内也是如此。在此博文中了解更多信息 。...此外,带有三大括号 Scaladoc 块内代码现在以与标准 Scala 代码相同方式突出显示。...在工作表,使用 Scala 2.13.12 时,在构建窗口中再次正确报告编译错误,并且在第一次代码编译之前导入不再被错误地标记为未使用。...如果您想将其恢复,可以通过*设置/首选项 |*“搜索无处不在”复选框 *显示 Git 选项卡来执行此操作。*高级设置 |版本控制。吉特.

    2.8K10

    Excelize 发布 2.4.1 版本,新增并发安全支持

    支持 XLSX / XLSM / XLTM 等多种文档格式,高度兼容带有样式、图片(表)、透视表、切片器等复杂组件文档,并提供流式读写 API,用于处理包含大规模数据工作簿。...兼容带有非标准页面布局属性数据类型电子表格文档,避免打开失败问题 增加内部共享字符表计数 解除通过给定时间设置单元格值时,需要协调世界时 (UTC) 限制,相关 issue #409 增加对内部...#873 修复条件格式与数据透视表兼容性问题,解决 issue #883 改进与页面布局无效首页编号属性兼容性 SetCellRichText 增加字符数上限检查并修复保留字符丢失问题 问题修复...#842 修复部分情况下获取获取单元格值时,未返回带有公式空单元格问题,解决 issue #855 修复部分情况下 IF 公式条件运算错误问题,解决 issue #858 修复通过 GetRowHeight...获取行高度错误问题 修复部分情况下因范围解析异常导致获取和删除自定义名称错误问题,解决 issue #879 修复设置自定义名称时关联工作表索引错误问题 修复设置列样式时已有单元格样式未被更新问题

    1.4K11

    这些必备VSCode JavaScript插件你都用过吗?

    View Node Package(利用此插件可快速查看Node包源码,让你直接在VS Code打开Node包代码库或文档。)...Search node_modules(通常node_modules文件夹不在默认搜索范围内,这个插件允许你搜索它。源码:vscode-search-node-modules。) ?...这里有一些工具,能极大地减少你开发时这种重复流程,而不是每次都手动刷新浏览器: 1. Debugger for Chrome(在编辑器打断点,让你轻松地在Chrome里调试JavaScript。...它带有很好发布在GitBook上文档。) Ember(为Ember提供了命令行支持和智能提示。安装完后,所有ember cli命令可直接在VS Code自己命令行列表中使用。)...Quokka.js(非常厉害调试工具,为JavaScript提供了快速构建原型演练场,并且附带有很好文档。) ? 2.

    6K10

    概览 - 构建文档 - ckeditor5文档

    Inline editor Inline 编辑器带有一个浮动工具栏,当编辑器获取焦点(例如,点击编辑器)时它就会出现。...不像classic编辑器,inline编辑器并不替换掉给定元素,而只是简单使它可编辑。这样做后果是被编辑内容只有当编辑器被创建后,编辑内容样式才会出现。...Document 编辑器 Document编辑器专注于富文本编辑体验类似于word处理器。它适用于创建用于打印或者导出为PDF文件文档。 ? 在线试用,请点击document编辑器示例。...创建共享文档 其他用例: 用户个人信息边际页面 写书应用 社会消息和内容共享 招聘软件创建广告 当不能使用构建版本时?...ckeditor5替换它时候 下面的用例,你应该使用消息: 当你需要一个简单方式在你应用实现创建满足以下特性文章和文档: 实时共享书写 在线评论和讨论内容 高级书写特性 文章作者ianzhi,

    8.3K30

    听GPT 讲Rust源代码--srctools(18)

    解析器主要作用是根据给定代码片段,确定语法结构在编译时具体含义。这对于编辑器扩展和代码静态分析工具等工具非常重要,因为它可以帮助开发者在编码时进行错误检查和自动补全等功能。...:表示语法上下文,用于确定标记树中标记语法作用域。它是一个带有子树、分隔符、字面量、标点和标识符结构体,它们通过Span类型进行参数化,用于跟踪标记位置和范围。...在该代码库xtask/src/publish/notes.rs文件是rust-analyzer一个工具模块,它负责将文本文件转换为带有标注文档。...具体来说,notes.rs文件包含了几个重要结构体和枚举类型,如下所示: Converter:这是一个泛型结构体,用于将文本文件转换为带有标注文档。...它接收一个字符串切片作为输入,并生成一个表示带有标注文档数据结构。 ListNesting(Vec):这是一个带有列表标记向量结构体,用于表示嵌套列表结构。

    14810

    RAG常见七大坑

    用户假设特定问题答案存在于知识库。 事实并非如此,系统也没有回应“我不知道”。 相反,它提供了一个看似合理错误答案,但实际是“毫无意义”。...漏掉排名靠前文档 - 检索器是小型搜索系统,要获得正确结果并不简单。 简单嵌入查找很少能达到目的。 有时,检索器返回前 K 个文档不存在正确答案,从而导致失败。...不符合上下文 - 有时,RAG系统可能会检索到太多文档,并且还是强制根据上下文分割并输入文档。 这意味着对问题回答不在上下文中。...这种需要特定格式输出,需要进行大量系统提示和指令微调,以生成特定格式信息。例如,使用Abacus AI,可以创建一个代理程序来以特定格式输出代码,并生成带有表格、段落、粗体文本等Word文档。...不合适回答 -响应返回答案,但不够具体或过于具体,无法满足用户需求。 当 RAG 系统设计者对给定问题(例如教师对学生)有期望结果时,就会发生这种情况。

    49210

    IntelliJ IDEA 2021.1正式发布!快来看看又有哪些神仙功能加入!

    用户体验 在用户使用体验上,首先是新内置浏览器,新内置html预览可以让用户快速预览 HTML 文件。在编辑器右上角,点击微件带有 IntelliJ IDEA 徽标的图标即可将其打开。...用户可以将 External Dependencies 设置为包含在范围或从范围中排除。...还可以将列表与多文档 YAML 文件相互转换。 可以创建自定义 values.yaml 文件。IDE 会将名称带有“values”文件视为值文件。...捆绑 MDN 文档,MDN 文档现与 IntelliJ IDEA 捆绑。这将有助于防止 MDN 网站连接问题,并使编辑器文档在 HTML、CSS 和 JavaScript 文件显示得更快。...编辑器文档也将提供更多信息 - 例如,将看到有关 JavaScript API 受支持浏览器版本详细信息。

    2.2K40
    领券