【问题标题】:Looking for changes in Ace Editor在 Ace Editor 中寻找变化
【发布时间】:2014-01-09 02:16:02
【问题描述】:

我正在尝试确保用户无法在不保存他们使用 ace 编辑器所做的更改的情况下关闭文件。

我看到我可以监视 onChange 事件,一种可能性是在 onChange 上设置一个标志,如果用户想要关闭文件,请检查该标志是否未设置,或者将它们放入保存工作流。

但是,不确定这是不是最好的方法。例如,如果用户进行了更改,然后撤消了更改,则他们不需要保存文件。

我看到 Ace Editor 也有一个标记器,所以我正在考虑在初始化时标记编辑器内容,然后检查标记是否已更改。虽然我不确定这真的是标记器的用途(或它的用途)。

我想这样做的方法是创建一个哈希(md5,除非其他人有其他建议),然后在关闭文件之前检查哈希是否与当前内容的哈希匹配。如果哈希不匹配,则内容已更改,用户进入保存流程,最终更新哈希。

对使用 Ace 的正确方法有什么想法吗?

【问题讨论】:

  • 为什么不将加载时的“文件文本”与执行时编辑器的“文件文本”进行比较?这也为您提供了还原命令的前半部分...
  • @dandavis 我认为比较哈希比比较整个文本要快,但话又说回来,我必须在比较之前对文本进行哈希处理。
  • hash 比创建指针甚至为 ascii 文本复制一小块 ram 更工作,而且你不需要经常运行这个函数,所以谁在乎几毫秒.. .
  • @dandavis 如果你把你的回答作为答案,我会给你积分。

标签: javascript hash tokenize ace-editor


【解决方案1】:

我遇到了类似的问题,在这个网站的帮助下解决了:

ACE editor change event

【讨论】:

    猜你喜欢
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多