2012-09-25 46 views
0

可以說我有一個帶有iframe的頁面並且在iframe中我有一個ckeditor實例,我想從包含頁面中銷燬它。在iframe中訪問javascript ckeditor對象

我通常會嘗試這樣的事:

var iframe_document = document.getElementById("iframe_id").contentWindow.document; 
for(var i in iframe_document.CKEDITOR.instances) 
    iframe_document.CKEDITOR.instances[i].destroy(); 

但是它看來,CKEditor的實例不能被這種方式訪問​​。是否有可能從類似於此的文檔之外銷燬實例?

爲了闡明確切的錯誤是「無法讀取的未定義的屬性‘情況’」

+0

是iframe內容的未來腳本運行在網站的域中? – Eric

+0

@Eric是的,它是一個頁面,意圖在iframe外部自己查看。 –

回答

3

全局變量屬於窗口,而不是文檔,以便試試這個:

var iframe_CKEDITOR = document.getElemenyById("iframe_id").contentWindow.CKEDITOR; 
for(var i in iframe_CKEDITOR.instances) 
    iframe_CKEDITOR.instances[i].destroy(); 
+0

哇。謝謝。如果只有你以前回答過,我幾個小時摸索了這個,最後只是重載了編輯器本身的保存按鈕。如果只有我知道解決方案非常簡單!看起來我還有很多需要了解Javascript的知識。 –

+0

如果遇到問題,你應該總是使用像Firebug這樣的適當的js調試器,這樣你可以看到你有什麼對象,而不是做猜測工作。 – AlfonsoML