0

我已经在我的项目中集成了 InnovaEditor,管理员可以在其中输入 html 代码以在网站上显示。

我的问题是我想阻止用户在编辑器的 html 中插入 javascript 事件。

例如。如果用户在这里添加鼠标

然后应该删除 onmouseover 事件。此功能在 tinymce 中可用,但在 innovaeditor 中不可用。TinyMCE 将在用户以 html 模式添加代码时删除事件。

谁能帮我解决这个问题?

4

1 回答 1

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 代码中删除脚本标记和所有事件。

于 2013-10-23T11:38:11.530 回答