我在我們的網站中使用了tinyMce編輯器。在第一個頁面加載我設置一個onkeypress事件的事件處理程序是這樣的:刪除tinyMCE Editor.onKeyPress事件 - Opera中的中斷
window.onload = function() {
tinyMCE.activeEditor.onKeyPress.add(function() { startCookieInterval() });
}
這在Firefox和Chrome工作正常,但在歌劇它拋出這個JavaScript錯誤:
Uncaught exception: TypeError: Cannot convert 'tinyMCE.activeEditor' to object
所以我改變了窗口。如果tinyMce編輯器沒有通過window.onload正確初始化,則加載到document.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)
無的這種情況發生在其他任何瀏覽器。請分享你的想法。由於
hofnarwillie
關於「更改window.onload到document.onload」 - 看起來你在這裏誤解了一些東西。 http://stackoverflow.com/questions/588040/window-onload-vs-document-onload/2445322 – hallvors 2012-03-15 12:41:43
你可以把它放在服務器上,我可以看看它嗎?聽起來很奇怪.. – hallvors 2012-03-15 12:42:48
@hallvors「誤解這裏的東西」,該鏈接並不能解釋你的評論。我誤解了什麼?它支持我的評論,window.onLoad和document.onLoad在不同階段着火。 – hofnarwillie 2012-03-17 21:39:59