问题标签 [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.
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 嵌入示例中的代码相同。
出了什么问题?任何帮助,将不胜感激。
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
javascript - ACE 编辑器中的自动补全
我发现了类似的问题:Ace Editor autocomplete and multiple languages
但回应是 ACE 不支持自动完成功能,并且根据 Google 小组的 Ace 编辑器的说法,“我希望 Ace 能够使用它,而 Cloud9 确实需要它”。
这篇文章已经有一年了,正如你所看到的,cloud9 现在支持自动完成: https ://c9.io/site/features/
那么默认情况下,Ace Editor 中是否提供自动补全功能?我找不到任何关于它的信息。
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 行)
每次我导航回此页面时,是否有创建新编辑器的技巧?或者重新初始化编辑器使其不会抛出错误?
javascript - 如何禁用 ACE 编辑器的查找对话框
我想禁用 ACE 编辑器的查找对话框,当编辑器获得焦点时,通过按 Command+组合键调用该对话框。F
我尝试了以下(除其他外):
这可以防止一个人能够正常打字,但不会阻止Command+A key被处理。
如何防止Command+F组合被处理?
理想情况下,我希望能够仅阻止Command+F组合,因为我想继续使用其他Command组合键。
我已经为这个问题设置了一个JSFiddle。
token - 获取 ace 编辑器的令牌字符串
我刚刚查看了厨房水槽演示,发现有一个选项“显示令牌信息”显示鼠标在什么类型的文本上(变量、函数等)
我想创建类似的东西,可以在当前光标位置获取单词的当前标记字符串。有谁知道该怎么做?
谢谢!
ace-editor - 如何为 ACE 创建独立模式扩展?
我想用自定义语言的模式扩展 ace。据我所知,一般流程是:
- 下载王牌源。
- 为您的自定义语言创建一个新的 lib/ace/mode/foo.js。
- 运行“make build”(或类似的)来重建 ACE。
- 在您的网站中使用新编译的 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 的一部分是我唯一的选择吗?还是我错过了什么?
javascript - Jquery替换html,仅在更改的地方
我正在克隆一个实时降价编辑器dillinger.io,但与在 dillinger 中不同的是,当您在文档中嵌入视频时,但我不希望视频在每次更新文档时刷新和闪烁,这很常见。
DOM 的组织方式如下。
本例中的编辑器是出色的Ace 编辑器,它允许我通过editor.getValue()
有没有一种简单的方法可以做到这一点?我用谷歌搜索过,没有发现任何有用的东西。
这就是我目前所拥有的
但我想把它改成这样
这样做是在每次更新发生时阻止嵌入的 youtube 视频闪烁。
问题是我没有一个很好的函数形式
replaceWhereDifferent(updateHtml, before)
一些示例 html 字符串将是
现在说用户将 p 评论更改为
我希望在不刷新视频的情况下进行更新
所有这些都是由降价转换器从Ace 编辑器获取代码生成的代码。所以所有的降价都是一起转换的,我无法区分或标记降价的不同部分。我得到的只是更新的 html 字符串
javascript - 将 div 放在 ace 编辑器之上
我在我的网页中使用 ace 编辑器实例:
我的 javascript 文件将此 div 初始化为 ace 编辑器实例:
现在我想将 div 放入其中,tabpage_1
以便使用以下代码将其置于编辑器实例之上:
}
但这不会导致该编辑器顶部的 div (样式属性将在稍后收集在 css 中,这仅用于测试)。有人知道我做错了什么吗?