TinyMCE:焦点改变后无法在mac上编写特殊字符

时间:2012-03-14 21:08:48

标签: javascript macos safari tinymce ascii

我在某些mac上遇到了这个问题。当编辑器加载时,可以键入所有类型的字符。但是:在页面中的其他文本字段(flash)中聚焦并返回编辑器后,再也无法编写特殊字符。

使用特殊字符我的意思是äöüáóíÄÖÜß(“扩展”ASCII)。其他字符也是可能的(ASCII - 在127之前)。

非常感谢任何提示。如果你有一个好主意如何调试这个或一些提示进行调查,这导致我得到了回应,它也被接受了。

我做的唯一事情就是在源代码中将一个console.log放在TinyMCE的一个关键监听器中。查看是否至少检测到按键。它是 - 控制台列出所有按键。但是这些角色没有出现在屏幕上。

在出现此问题之前/之后,控制台输出未显示任何错误或警告。

它可能是什么?也许这根本不是TinyMCE的错?到目前为止,我在代码中看到,按键仅针对某些退格 - 撤消等任务处理,但实际的输入是通过浏览器进行的? - > iframe with body contenteditable =“true”。

另一个可能有用的信息:我正在谈论的另一个文本域是在Flash应用程序中。该领域的重点使得不再可能在TinyMCE中编写特殊字符。也许该字段改变了网页或系统中的字符集或其他东西..?我怎样才能看到/调查这个?

2 个答案:

答案 0 :(得分:1)

解决方法可能是捕获这些事件并在mac OS案例中处理它们:

ed.execCommand('mceInsertContent',false,'\uFFFF'); // FFFF stands for the special character coding 

答案 1 :(得分:0)

我有类似的问题,但不完全一样。所以这可能会或可能不会帮助你。

在我的情况下,在用户使用Plupload库上传文件(通过单击不可见的Flash按钮)然后事件处理程序通过execCommand("mceInsertCommand", ...)将URL插入TinyMCE后,用户无法再键入任何字符完全(不仅仅是特殊字符会受到影响)。但是,退格键仍然有效。

在我的Mac上,此问题仅影响Chrome,但不影响Safari或FF。

我的解决方法是暂时隐藏Flash对象,通过editor.focus()给予编辑器焦点,并使用下划线defer调用来重新显示flash对象。