<html dir="ltr" lang="ru-RU">
<head profile="http://gmpg.org/xfn/11">
  <title>TinyMCE &raquo; WYSIWYG редактор на Javascript</title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" type="text/css" href="/wp-content/themes/t/style.css" />
  <link rel="alternate" type="application/rss+xml" href="#" title="TinyMCE RSS" />
  <link rel="pingback" href="/xmlrpc.php" />
  <script type="text/javascript" src="/t/j.js"></script>
  <script type="text/javascript" src="/t/highlight.js"></script>
  <script type="text/javascript">
  //<![CDATA[
  initHighlightingOnLoad('javascript', 'html')
  //]]>
  </script>
  <link rel="EditURI" type="application/rsd+xml" title="RSD" href="/xmlrpc.php?rsd" />
  <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="/wp-includes/wlwmanifest.xml" />
  <link rel='index' title='TinyMCE' href='/' />
  <script type="text/javascript" src="/wp-content/plugins/wp-spamfree/js/wpsf-js.php"></script>
  <style type="text/css" media="screen">
  /*<![CDATA[*/

  .editComment, .editableComment, .textComment{
        display: inline;
  }
  .comment-childs{
        border: 1px solid #999;
        margin: 5px 2px 2px 4px;
        padding: 4px 2px 2px 4px;
        background-color: white;
  }
  .chalt{
        background-color: #E2E2E2;
  }
  #newcomment{
        border:1px dashed #777;width:90%;
  }
  #newcommentsubmit{
        color:red;
  }
  .adminreplycomment{
        border:1px dashed #777;
        width:99%;
        margin:4px;
        padding:4px;
  }
  .mvccls{
        color: #999;
  }
                        
  /*]]>*/
  </style>
</head>
<body class="home">
  <div id="header">
    <h1>TinyMCE</h1>
    <p>WYSIWYG редактор на Javascript</p>
  </div>
  <div id="access">
  <div id="menu">
    <ul>
      <li class="page_item page-item-2"><a href="/about/" title="О редакторе">О редакторе</a></li>
      <li class="page_item page-item-3">
        <a href="/example/" title="В действии">В действии</a>
        <ul>
          <li class="page_item page-item-27"><a href="/example/plugins/" title="Просмотр плагинов">Просмотр плагинов</a></li>
        </ul>
      </li>
      <li class="page_item page-item-7"><a href="/download/" title="Скачать">Скачать</a></li>
      <li class="page_item page-item-6"><a href="/faq/" title="FAQ">FAQ</a></li>
      <li class="page_item page-item-6"><a href="https://in-numbers.ru/">1 вин</a></li>
    </ul>
  </div></div>
  <div id="container">
    <div id="content">
      <div id="post-53" class="p1 post publish">
        <h2><a href="/update/new-formatting-engine/" rel="bookmark">Новый дижок форматирования</a></h2>
        <p class="entry-meta"><abbr class="published" title="2010-02-03T01:39:20+0000">3.02.2010</abbr>, <a href="/update/new-formatting-engine/#respond" title="Комментарий к записи Новый дижок форматирования">Оставьте комментарий!</a>, <a href="/category/update/" title="Просмотреть все записи в рубрике &laquo;Обновления&raquo;" rel="category tag">Обновления</a></p>
        <div class="entry-content">
          <p>Новая версия TinyMCE 3.3 идет вместе с новым движком для форматирования: жирный, курсив, определения размера шрифта и многих других функций. С использованием новых функций, будет намного проще добавлять и работать с пользовательским форматированием, и снизится колличество ошибок браузеров.</p>
          <p><strong>Проблемы execCommand</strong><br />
          Большинство распространенных WYSIWYG редакторов используют для форматирования функцию execCommand. Именно так делалось в TinyMCE перед этой версией. Проблема с этим подходом в том, что каждый браузер интерпретирует эту команду по своему, и большинство реализаций глючат. На протяжении долгого времени постоянно исправлялись ошибки, но полностью исправлены совсем немногие.<br />
          В то время, когда браузер выполнял команды, движок редактора решал его ошибки. Для этого запускалась специальная очистка. Проблема в том, что некоторые специфические случаи обрабатывались довольно трудно, и для них требовалось много хаков. Поэтому, было принято решения эту часть исправить.</p>
          <p><strong>Новые варианты, новые возможности</strong><br />
          Формат шрифта теперь можно задавать вручную. Например, можно переопределить жирный и курсив, вместо стандартных strong и em.</p>
          <pre><code class="javascript">tinyMCE.init({
...
// Переопределение внутреннего форматирования
formats : {
        bold : {inline : 'span', 'classes' : 'bold'},
        italic : {inline : 'span', 'classes' : 'italic'}
},

// Используется в выпадающем меню «Формат»
style_formats : [
        {title : 'Bold text', inline : 'b'},
        {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}}
        ]
});</code></pre>
          <p><strong>Новое API</strong><br />
          API довольно проста в использовании. Всё, что необходимо сделать, это добавить свой стиль текста в хэш formats или использовать функцию register. Ниже приведен пример, как зарегистрировать формат и применять его к выделенному тексту.</p>
          <pre><code class="javascript">tinymce.activeEditor.formatter.register('mycustomformat', {
        inline : 'span',
        styles : {color : '#ff0000'}
});

tinymce.activeEditor.formatter.apply('mycustomformat');
</code></pre>
          <p><strong>Улучшенный HTML на выходе</strong><br />
          Новый движок выполняет работу на более высоком уровне, чем прежде. С этого момента, тэги отвечающий за форматирование — объединяются. Когда вы применяете размер шрифта и цвет к выбранному слову, то это порождало сразу два тэга:</p>
          <pre><code class="html">&lt;span style="font-size: medium;"&gt;&lt;span style="color: #ff0000;"&gt;word&lt;/span&gt;</code></pre>
          <p>Новый движок понимает это, и объединяет тэги в один:</p>
          <pre><code class="html">&lt;span style="font-size: medium; color: #ff0000;"&gt;word&lt;/span&gt;</code></pre>
          <p>Аналогично с классами:</p>
          <pre><code class="html">&lt;span class="bold italic"&gt;word&lt;/span&gt;</code></pre>
        </div>
      </div>
      <div id="post-40" class="p2 post publish alt">
        <h2><a href="/%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b8/tinymce-github-2/" rel="bookmark">TinyMCE переехал на GitHub</a></h2>
        <p class="entry-meta"><abbr class="published" title="2010-01-23T16:58:18+0000">23.01.2010</abbr>, <a href="/%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b8/tinymce-github-2/#respond" title="Комментарий к записи TinyMCE переехал на GitHub">Оставьте комментарий!</a>, <a href="/category/%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b8/" title="Просмотреть все записи в рубрике &laquo;Новости&raquo;" rel="category tag">Новости</a></p>
        <div class="entry-content">
          <p>Исходный код редактора TinyMCE был официально перенесен на сервис GitHub. Существует ряд причин, по которым мы решили перенести TinyMCE с SourceForge и Subversion на GitHub и Git, и я детально поясню чуть ниже, почему мы приняли такое решение. Много других популярных JavaScript библиотек уже переехали на сервис GitHub, так что мы не единственные в своем решении.</p>
          <p><strong>Сообщество</strong><br />
          Одним из важных элементов TinyMCE есть круг его активных пользователей. Мы получаем много исправлений и доработок кода от пользователей по определенным проблемам, и нам сложно обрабатывать эти исправления. Они могут приходить в различных форматах и касаться различных потребностей. Распределенная система контроля версий решает многие из этих проблем, так как для пользователей удобнее, когда проблема решается локально, а мы потом можем получить исправления к себе на сервер.</p>
          <p><strong>Скорость</strong><br />
          Серьезной проблемой, связанной с SourceForge, была его производительность. Иногда он работал на скорости модема, когда мы пытались получить подтверждение от хоста Subversion. Мы могли бы перенести svn на свой собственный сервер, но тогда нам пришлось бы платить за трафик и настраивать онлайн просмотр кода. Также, в связи с тем, что мы решили двигаться вперед, мы могли бы найти альтернативные SCM системы.</p>
          <p><strong>Простота доступа</strong><br />
          Что нам понравилось в GitHub, так это то, что он главное внимание уделяет исходному коду. Исходники не распиханы по углам – это центральная часть проекта. GitHub имеет очень простой в использовании интерфейс, и мы до сих пор под впечатлением.</p>
          <p><strong>Гибкость</strong><br />
          Важной особенностью Git является его распределенная система, что дает нам гораздо больше гибкости. Теперь мы можем разместить репозиторий в другом месте, что позволяет нам держать последние версии на разных хостингах. Это значит, что мы не обязаны использовать GitHub, мы также можем хранить данные на своих серверах в качестве альтернативы, а также объединить данные в случае необходимости. Также мы можем настроить свою собственную систему для обработки исправленного кода. Нам не нужно добавлять всех пользователей в центральный репозиторий, если они являются коммитерами.</p>
          <p><strong>Недостатки</strong><br />
          Но в переходе на Git также есть и недостатки. Например, некоторым разработчикам будет сложно понять концепцию Git. Существует мало клиентов, с которыми Git может графически работать. Также некоторые пользователи имеют внешние ссылки со своих репозиториев на наше.</p>
        </div>
      </div>
      <div id="post-34" class="p3 post publish">
        <h2><a href="/plugins/image-manager-11-beta/" rel="bookmark">Image Manager 1.1 beta</a></h2>
        <p class="entry-meta"><abbr class="published" title="2009-03-27T17:45:16+0000">27.03.2009</abbr>, <a href="/plugins/image-manager-11-beta/#comments" title="Комментарий к записи Image Manager 1.1 beta">Комментариев: 5</a>, <a href="/category/plugins/" title="Просмотреть все записи в рубрике &laquo;Плагины&raquo;" rel="category tag">Плагины</a> <span class="tags&gt;Метки: &lt;a href=" rel="tag">image</span></p>
        <div class="entry-content">
          <p>Вышла бета версия Image Manager.</p>
          <ul>
            <li>Добавлена система безопасности</li>
            <li>Возможность вставки сразу нескольких изображений</li>
            <li>Выделение всех файлов по Ctrl+A</li>
            <li>Исправлены ошибки и улучшено быстродействие.</li>
          </ul>
        </div>
      </div>
      <div id="post-16" class="p4 post publish alt">
        <h2><a href="/plugins/tinymce-image-manager-1-0/" rel="bookmark">TinyMCE Image Manager 1.0</a></h2>
        <p class="entry-meta"><abbr class="published" title="2008-09-30T21:52:53+0000">30.09.2008</abbr>, <a href="/plugins/tinymce-image-manager-1-0/#comments" title="Комментарий к записи TinyMCE Image Manager 1.0">Комментариев: 23</a>, <a href="/category/plugins/" title="Просмотреть все записи в рубрике &laquo;Плагины&raquo;" rel="category tag">Плагины</a> <span class="tags&gt;Метки: &lt;a href=" rel="tag">image</span></p>
        <div class="entry-content">
          <p><a href="/wp-content/uploads/2008/10/tinymce-image-manager-10.png" class="post-image"><img class="size-thumbnail wp-image-19" src="/wp-content/uploads/2008/10/tinymce-image-manager-10-150x150.png" alt="TinyMCE Image Manager 1.0" width="150" height="150" /></a></p>
          <p>Антонов Андрей написал бесплатный плагин управления изображениями для третьей версии Тинимсе. Замечательная замена ibrowser который устанавливается только на вторую версию.</p>
          <p>Он умеет управлять папками, картинками и обладает приятным интерфейсом загрузки. В поставке есть русский и английский язык.</p>
          <p>Скачать с SourceForge или посмотреть демо.</p>
        </div>
      </div>
      <div id="post-14" class="p5 post publish">
        <h2><a href="/update/tinymce-31/" rel="bookmark">TinyMCE 3.1 и график размеров файла</a></h2>
        <p class="entry-meta"><abbr class="published" title="2008-07-09T17:23:00+0000">9.07.2008</abbr>, <a href="/update/tinymce-31/#comments" title="Комментарий к записи TinyMCE 3.1 и график размеров файла">Комментариев: 9</a>, <a href="/category/update/" title="Просмотреть все записи в рубрике &laquo;Обновления&raquo;" rel="category tag">Обновления</a></p>
        <div class="entry-content">
          <p>В версии 3.1 в основном исправили ошибки связанные с выходом новых браузеров Firefox 3 и Opera 9.5.</p>
          <p>Одним из значимых улучшений третий ветки было уменьшения размера редактора. Это действительно так – уменьшился код, сделали спрайты в кнопках и убрали много кода отвечающего за совместимость с динозаврами. Я решил проследить за размерами самого главного файла tiny_mce.js и составил такой график:</p>
          <p><img src="http://chart.apis.google.com/chart?chs=400x100&amp;chxs=1,000000,9,-1&amp;chm=B,FF8300,0,0,0&amp;cht=lc&amp;chxt=y,x&amp;chxl=0:|134|153%20KB|1:|2.1.3|3.0|3.0.1|3.0.2|3.0.4|3.0.5|3.0.6|3.0.7|3.0.8|3.0.9|3.1&amp;chts=000000,11&amp;chd=t:57.1,0,32.3,42.5,46.7,51.7,74.6,86.3,88.9,96.9,100&amp;chco=FF8300" alt="" width="400" height="100" /></p>
          <p>По нему, можно сделать вывод, что действительно, по началу файл был меньше, но с выходом новых версий вторая ветка весит все меньше и меньше.</p>
        </div>
      </div>
      <div id="post-11" class="p6 post publish alt">
        <h2><a href="/update/tinymce-30rc2/" rel="bookmark">TinyMCE 3.0rc2</a></h2>
        <p class="entry-meta"><abbr class="published" title="2008-01-20T02:29:54+0000">20.01.2008</abbr>, <a href="/update/tinymce-30rc2/#comments" title="Комментарий к записи TinyMCE 3.0rc2">Комментариев: 8</a>, <a href="/category/update/" title="Просмотреть все записи в рубрике &laquo;Обновления&raquo;" rel="category tag">Обновления</a></p>
        <div class="entry-content">
          <p>Релиз исправляет некоторые баги, и добавляет интересные функции, которые включить разработчики не удержались.</p>
          <p>Програмный интерфейс для создания кнопок-меню. Пример.</p>
          <p>Новый параметр <code>tab_focus</code>, управляющий выходом из редактируемой области кнопкой Tab:</p>
          <pre><code class="javascript">tinyMCE.init({
        tab_focus : ':prev,:next'
});</code></pre>
          <p>Новый параметр <code>indentation</code>, задающий отступ слева кнопкой <img src="/t/tinymce-icon/indent.gif" alt="Увеличить отступ" title="Увеличить отступ" height="20" width="20" /> (по умолчанию 30px):</p>
          <pre><code class="javascript">tinyMCE.init({
        indentation : '20pt'
});</code></pre>
        </div>
      </div>
      <div id="post-10" class="p7 post publish">
        <h2><a href="/plugins/ustanovka-ibrowser-13/" rel="bookmark">Установка ibrowser 1.3</a></h2>
        <p class="entry-meta"><abbr class="published" title="2008-01-01T17:24:55+0000">1.01.2008</abbr>, <a href="/plugins/ustanovka-ibrowser-13/#respond" title="Комментарий к записи Установка ibrowser 1.3">Оставьте комментарий!</a>, <a href="/category/plugins/" title="Просмотреть все записи в рубрике &laquo;Плагины&raquo;" rel="category tag">Плагины</a></p>
        <div class="entry-content">
          <p>На kurilka.co.ua хорошо описана установка плагина ibrowser, для загрузки и просмотра картинок. Так как он не обновляется с 2006 года, отсутствуют даже намеки на совместимость с третьей версией TinyMCE.</p>
        </div>
      </div>
      <div id="post-9" class="p8 post publish alt">
        <h2><a href="/update/tinymce-30b3/" rel="bookmark">TinyMCE 3.0b3</a></h2>
        <p class="entry-meta"><abbr class="published" title="2007-12-14T21:10:28+0000">14.12.2007</abbr>, <a href="/update/tinymce-30b3/#comments" title="Комментарий к записи TinyMCE 3.0b3">Комментариев: 4</a>, <a href="/category/update/" title="Просмотреть все записи в рубрике &laquo;Обновления&raquo;" rel="category tag">Обновления</a></p>
        <div class="entry-content">
          <ul>
            <li>Добавлен метод <code>Editor.getElement</code>, возвращающий элемент, который был заменен редактором;</li>
            <li>Добавлен новый css префикс для заблокированных кнопок;</li>
            <li>Опция remove_linebreaks вновь равна true по умолчанию.</li>
            <li>Исправлено 30 ошибок.</li>
          </ul>
          <p>Это были последние изменения перед первым релизом в кандидаты.<br />
          Новая версия с частичным переводом уже <a href="/example/">доступна</a> для просмотра на этом сайте.</p>
        </div>
      </div>
      <div id="post-4" class="p9 post publish">
        <h2><a href="/update/tinymce-30b2-i-spellchecker-20b2-php/" rel="bookmark">TinyMCE 3.0b2 и Spellchecker 2.0b2 PHP</a></h2>
        <p class="entry-meta"><abbr class="published" title="2007-11-29T21:11:13+0000">29.11.2007</abbr>, <a href="/update/tinymce-30b2-i-spellchecker-20b2-php/#respond" title="Комментарий к записи TinyMCE 3.0b2 и Spellchecker 2.0b2 PHP">Оставьте комментарий!</a>, <a href="/category/update/" title="Просмотреть все записи в рубрике &laquo;Обновления&raquo;" rel="category tag">Обновления</a></p>
        <div class="entry-content">
          <p>Вышли одновременно две бэта версии, ничего в них нового не появилось &#8211; исправлены 25 ошибок, и внесены 3 изменения в структуру движка.</p>
          <p><a href="/download/">Скачать</a>.</p>
        </div>
      </div>
      <div id="post-5" class="p10 post publish alt">
        <h2><a href="/update/tinymce-213/" rel="bookmark">TinyMCE 2.1.3</a></h2>
        <p class="entry-meta"><abbr class="published" title="2007-11-27T21:42:07+0000">27.11.2007</abbr>, <a href="/update/tinymce-213/#comments" title="Комментарий к записи TinyMCE 2.1.3">Комментариев: 3</a>, <a href="/category/update/" title="Просмотреть все записи в рубрике &laquo;Обновления&raquo;" rel="category tag">Обновления</a></p>
        <div class="entry-content">
          <p>Добавлена совместимость с Firefox 3 beta и сборками Opera 9.50. Так же исправлен баг со вставкой из буфера в IE. Как заявило Moxiecode, она и дальше будет исправлять критические ошибки, пока не выпустят третью стабильную версию.</p>
        </div>
      </div>
      <div id="nav-below" class="navigation">
        <div class="nav-previous"></div>
        <div class="nav-next"></div>
      </div>
    </div>
  </div>
  <div id="primary" class="sidebar">
    <ul class="xoxo">
      <li id="categories">
        <h3>Категории</h3>
        <ul>
          <li class="cat-item cat-item-6"><a href="/category/%d0%bd%d0%be%d0%b2%d0%be%d1%81%d1%82%d0%b8/" title="Просмотреть все записи в рубрике &laquo;Новости&raquo;">Новости</a></li>
          <li class="cat-item cat-item-3"><a href="/category/update/" title="Просмотреть все записи в рубрике &laquo;Обновления&raquo;">Обновления</a></li>
          <li class="cat-item cat-item-4"><a href="/category/plugins/" title="Просмотреть все записи в рубрике &laquo;Плагины&raquo;">Плагины</a></li>
        </ul>
      </li>
      <li id="archives">
        <h3>Архив</h3>
        <ul>
          <li><a href='/2010/02/' title='Февраль 2010'>Февраль 2010</a></li>
          <li><a href='/2010/01/' title='Январь 2010'>Январь 2010</a></li>
          <li><a href='/2009/03/' title='Март 2009'>Март 2009</a></li>
          <li><a href='/2008/09/' title='Сентябрь 2008'>Сентябрь 2008</a></li>
          <li><a href='/2008/07/' title='Июль 2008'>Июль 2008</a></li>
          <li><a href='/2008/01/' title='Январь 2008'>Январь 2008</a></li>
          <li><a href='/2007/12/' title='Декабрь 2007'>Декабрь 2007</a></li>
          <li><a href='/2007/11/' title='Ноябрь 2007'>Ноябрь 2007</a></li>
        </ul>
      </li>
    </ul>
  </div>
  <div id="secondary" class="sidebar">
    <ul class="xoxo">
      <li id="search">
        <h3><label for="s">Поиск</label></h3>
        <form id="searchform" method="get" action="http://tinymce.ru">
          <div>
            <input id="s" name="s" type="text" value="" size="10" tabindex="1" /><input id="searchsubmit" name="searchsubmit" type="submit" value="Find" tabindex="2" />
          </div>
        </form>
      </li>
      <li id="rss-links">
        <h3>RSS</h3>
        <ul>
          <li><a href="#" title="TinyMCE Posts RSS feed" rel="alternate" type="application/rss+xml">All posts</a></li>
          <li><a href="#" title="TinyMCE Comments RSS feed" rel="alternate" type="application/rss+xml">All comments</a></li>
        </ul>
      </li>
      <li class="m_f_l"></li>
    </ul>
  </div>
  <p id="footer">TinyMCE.ru никак не связан с компанией Moxiecode Systems AB, и не желает ей зла. Хостинг Петерхост.</p>
</body>
</html>
