在以前的应用程序中,我能够让 TinyMCE 正常工作。但是在这个网络应用程序中,我让富编辑器显示正常,但由于某种原因,我无法在富编辑器字段中输入内容,当我单击粗体等按钮时,出现此错误:
Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://mysite/tiny_mce/tiny_mce.js :: anonymous :: line 1" data: no]
Source File: http://mysite/tiny_mce/tiny_mce.js
Line: 1
Run Code Online (Sandbox Code Playgroud)
我想知道我可以做些什么来调试这里发生的事情。什么可能导致这个奇怪的错误?
一些背景:
此代码加载 TinyMCE:
<script type="text/javascript" src="http://mysite/tiny_mce/tiny_mce.js"></script>
<script>
tinyMCE.init({
mode : 'none',
editor_selector: 'mceAdvanced',
theme : 'advanced',
theme_advanced_toolbar_location : 'top',
theme_advanced_toolbar_align : 'left',
theme_advanced_buttons1 : 'fontsizeselect,bold,italic,|,bullist,numlist,|,outdent,indent,|,removeformat',
theme_advanced_buttons2: '',
theme_advanced_buttons3: '',
theme_advanced_font_sizes: "1, 2, 3, 4",
width: '600',
height: '200',
remove_script_host : true,
cleanup_on_startup : true,
cleanup: true,
debug : true,
convert_urls : false
});
tinyMCE.execCommand('mceAddControl', true, 'fldOverview');
</script>
<textarea id="fldOverview" name="fldOverview" class="textbox"><?= OVERVIEW ?></textarea>
Run Code Online (Sandbox Code Playgroud)
测试:
FF3 失败。歌剧(最新稳定版)作品。Windows IE7 工作。Safari(最新稳定版)有效。
小智 5
答案在这里。
交易是这样的。用过脸书吗?我们试图实现一个类似的界面,您可以在其中单击以编辑配置文件部分,它会使用进度条折叠和重新展开,然后使用配置文件表单折叠和重新展开。在那个配置文件表单中,我们有 TinyMCE 丰富的编辑器。
好吧,事实证明隐藏 DIV 然后显示为显示 TinyMCE 控件有一个怪癖。它得到了时间关闭或什么的?无论如何,我们在 jQuery 中使用了 slideToggle API 来折叠和重新展开一个 DIV,其中包含我们通过 jQuery AJAX 内容撤回的新内容。当我们这样做时,不知何故这个slideToggle API 把我们搞得一团糟。
修复方法是像往常一样执行 slideToggle,但是在我们使用 execCommand 技术加载 tinyMCE 编辑器之前,我们需要首先使用 jQuery 中的 show API 来确保我们的 DIV 被强制打开和可见。当我们这样做时,问题就消失了。
| 归档时间: |
|
| 查看次数: |
2769 次 |
| 最近记录: |