HTML-текстовый редактор и контент только для чтения?

Я ищу способ сделать определенные элементы в редакторе форматированного текста HTML доступными только для чтения и недоступными для изменения пользователем. Есть ли способ добиться такого поведения?

Примером редактора форматированного текста, к которому я обращаюсь, будет следующий фрагмент кода:

 <html>
 <head>
  <script type="text/javascript">
   var Editor = {
    Init: function() {
     $("#editor").get()[0].contentWindow.document.designMode = "on";
    }
   }

   $(document).ready(function() { Editor.Init(); });
  </script>
 </head>
 <body>
  <iframe id="editor" style="width: 500px; height: 250px;"></iframe>
 </body>
</html>

/Тобиас

1 ответ

Решение

Я не знаю, поможет ли это вам, но редактор WYSIWYG CKEditor может защитить контент с помощью регулярного выражения:

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html

CKEDITOR.config.protectedSource С: 3.0 Список регулярных выражений, которые должны выполняться над входным HTML, с указанием кода, который должен оставаться нетронутым.

config.protectedSource.push( /<\?[\s\S]*?\?>/g );   // PHP Code
config.protectedSource.push( /<%[\s\S]*?%>/g );   // ASP Code
config.protectedSource.push( /(]+>[\s|\S]*?<\/asp:[^\>]+>)|(]+\/>)/gi );   // ASP.Net Code

Я еще не использовал это сам, но из того, что я слышу на форумах и здесь, на SO, похоже, работает вполне прилично.

Тем не менее, я использовал CKEditor и могу рекомендовать его как один из лучших доступных редакторов WYSIWYG, даже если документация и поддержка сообщества немного скудны, но он все еще очень нов на рынке.

Другие вопросы по тегам