【问题标题】:Not support large file content using tinyMCE editor不支持使用 tinyMCE 编辑器的大文件内容
【发布时间】:2011-07-03 10:08:34
【问题描述】:

我读取文件(文件大小超过 2.5Mb)并使用 tinyMCE 将内容显示到 textarea。

在加载到 textarea 期间发生脚本错误。 错误是

A script on this page may be busy, or it may have stopped responding. 
You can stop the script now, open the script in the debugger, or let the script continue.

Script: http://localhost:8080/tiny-rich-editor/faces/tinyEditor-orginal/tinymce/jscripts/tiny_mce/tiny_mce.js:1

在 tinyMCE 中使用以下代码后出现此错误

ed.onBeforeSetContent.add(function(ed, o) {
                // Replaces all \n characters with <br> tag
                o.content = o.content.replace(/\n/g, '<br>');
            });

上面的代码用于逐行显示内容。如果不使用上述代码,则 textarea 将所有内容显示为非原始格式。像一行一行的。

帮帮我。 提前致谢。

【问题讨论】:

    标签: javascript jsp jsf richfaces tinymce


    【解决方案1】:

    它不能被称为“脚本错误”,因为那里没有错误。相反,浏览器不确定长时间等待是否是故意的 - 这种情况。如果再等一段时间,tinyMCE 可能仍会显示结果。

    ThiefMaster 的权利:不要尝试将大文件加载到 Javascript 所见即所得编辑器中。 Javascript 始终以解释模式运行,一旦加载了整个文本,就会开始解析和格式化。使用浏览器上运行的 Javascript 处理 2.5MB 文本的成本太高了。

    【讨论】:

    • tinyMCE 允许的最大文件大小是多少?
    • 从技术上讲,它仅受 Javascript 能够处理的字符串大小以及浏览器内存大小的限制。另一方面,出于实际目的,我们需要在加载如此大的文本时测试用户体验。具有不同内存大小、数量或运行进程、操作系统、浏览器的不同工作站可能会产生不同的体验。
    • 更好的解决方案是将文本分解为多个部分,显示摘要并按这些部分放置编辑按钮。
    【解决方案2】:

    简单的答案:不要将大文件加载到基于 JavaScript 的所见即所得编辑器中(甚至是纯文本区域)。这需要很长时间,因此会询问用户是否要中断脚本。

    【讨论】:

      【解决方案3】:

      问题是您添加到 tinymce 编辑器实例中的所有内容都需要通过浏览器进行验证。 在编辑器中插入 200-300 多个段落将导致计算时间大大增加(由浏览器消耗)。 2.5 MB 的文件大小听起来并不多,但请记住,这是很多文本。

      您可能需要考虑将大文件拆分成许多较小的块,以便使用 textarea 或 tinymce 编辑器使它们可编辑。

      【讨论】:

      • 我想加载文件,使用 tinyMCE 的大小为 1.4MB。有可能吗??
      • 1,4 MB 的文本文件仍然非常多(使用 js 处理)
      • 我尝试加载 1.4 mb 大小。和 content.replace 方法。浏览器无法加载脚本。所以,我尝试了另一种方式,在后端我读取整个文件内容,然后 content=content.replaceAll("\n","
        )。但在我的文本区域中没有反映。
      【解决方案4】:

      @EswaraMoorthyNEC 你好, 为什么你使用 tinyMCE...你可以将文件内容加载到普通文本区域

      【讨论】:

      • 我想做一些操作,比如在 textarea 内容中搜索单词、打印、保存等。
      • @Eswar:我检查了你的代码..我加载了文件。我不会出现脚本错误。
      • 编辑器允许普通文件(小尺寸)。但是当我加载超过 2MB 大小时,浏览器会显示警报消息。
      • 我认为,当你重新格式化textarea contnet时,编辑器不支持。
      • 是的。我使用以下行 o.content = o.content.replace(/\n/g, '
        ');然后浏览器显示警报消息,如警告消息。但我需要逐行显示 textarea 内容(如文件原始内容)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 2011-12-06
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多