问题标签 [ace-editor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1350 浏览

javascript - Ace 编辑器,javascript 风格:“加载脚本失败”异常

我尝试使用带有 javascript 突出显示的 Ace 编辑器,如下所示:

"editor" 是一个有效的编辑器实例,使用 PHP 或 C#。但是,从这一行我得到一个异常,Firebug 控制台上显示的内容如下:

未捕获的异常:[xpconnect 包装的原生原型]

加载脚本失败:http ://d1n0x3qji82z53.cloudfront.net/src-min-noconflict/worker-javascript.js (nsresult = 0x805303f4)

我正在使用编辑器的 CDN 版本,这就是 cloudfront url 的原因。基本上我的代码与Ace 嵌入示例中的代码相同。

出了什么问题?任何帮助,将不胜感激。

0 投票
1 回答
1277 浏览

validation - ace:dateTimeEntry 将无效日期转换为另一个日期

我有一个 ace:dateTimeEntry 组件,如下所示:

<ace:dateTimeEntry id="surveyDate" partialSubmit="true" renderAsPopup="true" value="#{maintainAppointmentManagedBean.surveyNewDate}" pattern="dd/MM/yyyy" showButtonPanel="true" navigator="true" valueChangeListener="#{maintainAppointmentManagedBean.surveyDateChangeListener}"> </ace:dateTimeEntry>

当我手动输入无效日期(例如 21544/10/2012)时,icefaces 会将其转换为可接受的格式,例如 10/12/2020 或类似的格式。它必须进行一些背景计算,因为它将无效日期转换为其他日期。当它到达我自己的验证器时,日期已经转换为其他日期,因此我的验证无效,并且没有显示有关无效日期格式的消息。没有提出 JIRA 来解决这个问题。在我将此作为错误提出之前,是否有其他人遇到过此问题或有任何解决方案。

此外,当pattern="dd/MM/yyyy hh:mm". 它仅在模式为pattern="dd/MM/yyyy"

谢谢, Dakshata Gulkhobare

0 投票
8 回答
44710 浏览

javascript - ACE 编辑器中的自动补全

我发现了类似的问题:Ace Editor autocomplete and multiple languages

但回应是 ACE 不支持自动完成功能,并且根据 Google 小组的 Ace 编辑器的说法,“我希望 Ace 能够使用它,而 Cloud9 确实需要它”。

这篇文章已经有一年了,正如你所看到的,cloud9 现在支持自动完成: https ://c9.io/site/features/

那么默认情况下,Ace Editor 中是否提供自动补全功能?我找不到任何关于它的信息。

0 投票
1 回答
2098 浏览

javascript - 用于移动触摸屏设备的 Ace 文本编辑器上的慢速滚动

我正在尝试让 JavaScript 代码编辑器ACE在移动设备上工作。

你可以在这里找到完整的代码

垂直滚动似乎对任何移动设备都没有响应,而且滞后很多。我怎样才能使它更具响应性?

0 投票
0 回答
247 浏览

javascript - 导航离开后重新初始化 ACE 编辑器

我正在将ACE 编辑器用于使用 Bootstrap 构建的 Web 应用程序。这并不容易,但我已经让 ACE 使用 iframe 在此框架中加载,该 iframe 加载编辑器并使用数据库中的数据填充它。这工作正常,但是在我导航到另一个页面然后返回编辑页面后,我收到此错误:

将 chrome JS 对象暴露给没有暴露Props的内容是不安全的并且不推荐使用。有关详细信息,请参阅https://developer.mozilla.org/en/XPConnect_wrappers

如果我尝试保留编辑器对象的句柄并重用它,则会收到此错误:

NS_ERROR_NOT_INITIALIZED:组件返回失败代码:0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIDOMJSWindow.setTimeout](在 ace.js,第 1 行)

每次我导航回此页面时,是否有创建新编辑器的技巧?或者重新初始化编辑器使其不会抛出错误?

0 投票
3 回答
3904 浏览

javascript - 如何禁用 ACE 编辑器的查找对话框

我想禁用 ACE 编辑器的查找对话框,当编辑器获得焦点时,通过按 Command+组合键调用该对话框。F

我尝试了以下(除其他外):

这可以防止一个人能够正常打字,但不会阻止Command+A key被处理。

如何防止Command+F组合被处理?

理想情况下,我希望能够仅阻止Command+F组合,因为我想继续使用其他Command组合键。

我已经为这个问题设置了一个JSFiddle

0 投票
1 回答
3590 浏览

token - 获取 ace 编辑器的令牌字符串

我刚刚查看了厨房水槽演示,发现有一个选项“显示令牌信息”显示鼠标在什么类型的文本上(变量、函数等)

我想创建类似的东西,可以在当前光标位置获取单词的当前标记字符串。有谁知道该怎么做?

谢谢!

0 投票
2 回答
2035 浏览

ace-editor - 如何为 ACE 创建独立模式扩展?

我想用自定义语言的模式扩展 ace。据我所知,一般流程是:

  1. 下载王牌源。
  2. 为您的自定义语言创建一个新的 lib/ace/mode/foo.js。
  3. 运行“make build”(或类似的)来重建 ACE。
  4. 在您的网站中使用新编译的 build/src-min-no-conflict(或其他)ACE 发行版。

但我只想使用他们网站上现有的 ACE 发行版,并结合我独立的新模式。我不想在构建过程中重新构建 ACE 来构建我的新模式。我通过这样做接近了:

但我很快就遇到了 requirejs / 依赖问题。例如,我不能require("ace/mode/matching_brace_outdent")在我的模式内做。setMode('ace/mode/c_cpp')我通过第一次调用(作为副产品定义了matching_brace_outdent 模块)暂时解决了这个问题。但是我在尝试让自定义的 WorkerClient 工作时遇到了更糟糕的问题。

将我的模式构建为 ACE 的一部分是我唯一的选择吗?还是我错过了什么?

0 投票
4 回答
1760 浏览

javascript - Jquery替换html,仅在更改的地方

我正在克隆一个实时降价编辑器dillinger.io,但与在 dillinger 中不同的是,当您在文档中嵌入视频时,但我不希望视频在每次更新文档时刷新和闪烁,这很常见。

DOM 的组织方式如下。

本例中的编辑器是出色的Ace 编辑器,它允许我通过editor.getValue()

有没有一种简单的方法可以做到这一点?我用谷歌搜索过,没有发现任何有用的东西。

这就是我目前所拥有的

但我想把它改成这样

这样做是在每次更新发生时阻止嵌入的 youtube 视频闪烁。

问题是我没有一个很好的函数形式

replaceWhereDifferent(updateHtml, before)

一些示例 html 字符串将是

现在说用户将 p 评论更改为

我希望在不刷新视频的情况下进行更新

所有这些都是由降价转换器从Ace 编辑器获取代码生成的代码。所以所有的降价都是一起转换的,我无法区分或标记降价的不同部分。我得到的只是更新的 html 字符串

0 投票
1 回答
1249 浏览

javascript - 将 div 放在 ace 编辑器之上

我在我的网页中使用 ace 编辑器实例:

我的 javascript 文件将此 div 初始化为 ace 编辑器实例:

现在我想将 div 放入其中,tabpage_1以便使用以下代码将其置于编辑器实例之上:

}

但这不会导致该编辑器顶部的 div (样式属性将在稍后收集在 css 中,这仅用于测试)。有人知道我做错了什么吗?