2012-09-06 190 views
3

我已將CKEditor集成到我的網站CMS中。預覽按鈕的作品,但我不能讓它使用樣式表(CSS)。我已經編輯地處preview.html:使用CSS在CKEditor中預覽樣式

網站/ CKEditor的/插件/預覽/

但它似乎並沒有聽任何的HTML我環繞拉動從內容的代碼所見即所得編輯器。

據我瞭解這段代碼:

<script> 

var doc = document; 
doc.open(); 
doc.write(window.opener._cke_htmlToLoad); 
doc.close(); 

delete window.opener._cke_htmlToLoad; 

</script> 

拉動無論是在編輯器中,所以我應該能夠圍繞HTML換到包括將可爲每個頁面元素?並鏈接到樣式表?

有人曾經這樣做過?可能嗎?

回答

0

「window.opener._cke_htmlToLoad」似乎是一個字符串(包含一個完整的html文檔)。

要獲得的innerHTML的<體> < /身體>的,你可以用這個表達式:

var doc = window.opener._cke_htmlToLoad; // is string 
var innerBody = (doc.replace(/((?:.(?!<\s*body[^>]*>))+.<\s*body[^>]*>)|(<\s*\/\s*body\s*\>.+)/g,'')); 
document.getElementById('insertIntoMe').innerHTML = innerBody; 

從我的測試,這似乎只在Firefox中工作。但Chrome和Internet Explorer直接顯示窗口文檔而不允許進行任何更改。所以也許別人可以提供更好的解決方案?