【问题标题】:Removing tinyMCE Editor.onKeyPress event - breaks in Opera删除 tinyMCE Editor.onKeyPress 事件 - Opera 中断
【发布时间】:2012-03-06 09:52:50
【问题描述】:

我在我们的网站上使用 tinyMce 编辑器。在第一个页面加载时,我设置了一个 onkeypress 事件处理程序,如下所示:

window.onload = function () {
    tinyMCE.activeEditor.onKeyPress.add(function () { startCookieInterval() });
    }

这在 firefox 和 chrome 中运行良好,但在 opera 中会抛出这个 javascript 错误:

Uncaught exception: TypeError: Cannot convert 'tinyMCE.activeEditor' to object

所以我将 window.onload 更改为 document.onload,以防 tinyMce 编辑器没有被 window.onload 正确初始化。这样就可以正常工作,直到第一次调用事件处理程序。这里我删除了事件处理程序,因为我只想运行一次:

function startCookieInterval() {
    tinyMCE.activeEditor.onKeyPress = null;
    cookieIntervalTick();
}

此后,在每次按键时,都会出现以下 javascript 错误:

[07/05/1983 08:35:36] JavaScript - http://localhost:10166/4_advice_only/editadviceitem.aspx?ADIID=13127831
Event thread: keypress
Uncaught exception: TypeError: Cannot convert 'v[x[t.fakeType || t.type]]' to object
Error thrown at line 8641, column 20 in r(t, A) in http://localhost:10166/includes/tiny_mce_3_3_8/tiny_mce.js:
    v[x[t.fakeType || t.type]].dispatch(v, t, A)
called via Function.prototype.call() from line 3686, column 16 in <anonymous function: g>(n) in http://localhost:10166/includes/tiny_mce_3_3_8/tiny_mce.js:
    return l.call(j, n)

在任何其他浏览器中都不会发生这种情况。请分享你的想法。谢谢

霍夫纳威利

【问题讨论】:

  • 关于“将 window.onload 更改为 document.onload” - 看来您在这里误解了一些东西。 stackoverflow.com/questions/588040/…
  • 你能把它放在服务器上让我看吗?听起来很奇怪..
  • @hallvors“在这里误解了一些东西”,该链接并不能完全解释您的评论。我有什么误解?它支持我关于 window.onLoad 和 document.onLoad 在不同阶段触发的评论。
  • 抱歉,我可能应该直接发布到my.opera.com/hallvors/blog/2009/05/20/… 的链接。基本上,分配给 document.onload 不会做任何事情。
  • (如果您可以分享链接或将代码公开在某处,我仍然非常感谢有机会对此进行调查)

标签: javascript tinymce opera onkeypress


【解决方案1】:

Tinymce 不完全支持 Opera。这可能是您出错的原因。

【讨论】:

  • 您好,感谢您的快速回复。您能否指出我可以验证这一点的方向,以向客户证明这一点,因为 tinyMCE 网站似乎说完全支持 Opera。 tinymce.com/wiki.php/Browser_compatiblity
  • 嗯,我刚刚检查了核心代码。有一个代码注释指出某个函数不适用于 Opera,但我现在无法验证这一点。也许 moxiecode 在此期间解决了这个问题。为了能够找到错误,您能否使用 noincompressed tinymce 版本(这是开发人员下载中名为 tiny_mce_dev.js 的版本)。使用此文件可以更轻松地跟踪错误。
  • 感谢您的建议。有机会我会玩弄它并报告。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多