2013-10-18 27 views
0

我已經在我的項目中集成了InnovaEditor,管理員可以在其中輸入html代碼以在網站上顯示。在Innovaeditor中防止javascript

我的問題是我想阻止用戶在編輯器的html中插入javascript事件。

例如,如果用戶在這裏添加鼠標

然後應刪除onmouseover事件。該功能在tinymce中可用,但不能在innovaeditor中使用。用戶在html模式下添加代碼時,TinyMCE將刪除事件。

任何人都可以幫我解決這個問題嗎?

回答

0

呃..我已經想通了我可以使用正則表達式來清理html代碼的事件。

我正在使用Innovaeditor的onSelectionChanged事件。對提交表單驗證使用

oEdit1.onSelectionChanged=function(){ 
    var html = oEdit1.getXHTMLBody(); 
    html = html.replace(/ on\w+="[^"]*"/g, ''); 
    html = html.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, ''); 
    oEdit1.putHTML(html); 
}; 

相同的腳本。

此代碼將從html代碼中移除腳本標記和所有事件。