Беда в том, что в буфере обмена может находиться не только текст, но и его форматирование. Если мы скопировали текст из простого редактора, наподобие Notepad, то в буфере действительно только сам текст, "буковки". Но если мы скопировали текст из подозрительного места - там может оказаться что угодно, и это зависит от программы-источника. Даже текст из адресной строки некоторых браузеров, например Safari, может вставиться в TinyMCE с форматированием.
Что уж говорить про MS Word, который так любят некоторые редакторы - там просто горы мусора. А весь этот мусор в виде байтиков пересылается через Интернет, увеличивая время загрузки страниц. Да и расходы на трафик увеличиваются.
Кроме того, вставленное из буфера жесткое форматирование не позволяет централизованно изменять внешний вид страниц, так как привнесённые стили будут туда зашиты намертво.
Вставить текст в редактор можно тремя способами:
1. Обычная вставка через Ctrl+V.
2. Через кнопку Вставить из Word
3. Через кнопку Вставить как простой текст
Рассмотрим на практике различие во вставке текста из буфера
Берем одну строку, отформатированную в MS Word и вставляем тремя способами. Сама строка в Word выглядит вот так:
А теперь посмотрим, что получится при разных вариантах вставки эстой строки через буфер обмена.
1. Результат вставки текста из Word - напрямую, через Ctrl+V:
Текст из Word для проверки
Вставленная строка выглядит в точности как в Word!
При этом вставился код HTML:
<meta content="Word.Document" name="ProgId" />
<meta content="Microsoft Word 10" name="Generator" />
<meta content="Microsoft Word 10" name="Originator" />
<link href="file:///C:%5CDOCUME%7E1%5CSHAGGY%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List" />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:"Arial Black";
panose-1:2 11 10 4 2 1 2 2 2 4;
mso-font-charset:204;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:647 0 0 0 159 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:595.3pt 841.9pt;
margin:2.0cm 42.5pt 2.0cm 3.0cm;
mso-header-margin:35.4pt;
mso-footer-margin:35.4pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Обычная таблица";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]-->
</p>
<p class="MsoNormal">
<strong><span style="font-size: 20pt">Текст</span></strong><span style="font-size: 20pt"> </span><span style="font-size: 20pt; font-family: 'Arial Black'">из</span><span style="font-size: 20pt"> </span><span lang="EN-US" style="font-size: 20pt; color: red">Word</span><span lang="EN-US" style="font-size: 20pt; color: red"> </span><span style="font-size: 20pt">для <em>проверки</em></span>
</p>
Видите, сколько мусора вставлено? Там и само содержимое не найти! Но зато можно обнаружить интимные подробности - из какого файла это вставлено. Нет, "такой хоккей нам не нужен".
2. Результат вставки текста из Word - через кнопку
(Вставить из Word):
Для вставки открывается диалоговое окно:
В окно вставляется текст с форматированием, которое было в Word, а в наш документ вставится текст с частичной потерей форматирования (осталось только выделение жирным и курсивом):
Текст из Word для проверки
Вставился код HTML:
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta content="Word.Document" name="ProgId" />
<meta content="Microsoft Word 10" name="Generator" />
<meta content="Microsoft Word 10" name="Originator" />
<link href="file:///C:%5CDOCUME%7E1%5CSHAGGY%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" rel="File-List" />
<!--[if gte mso 9]><xml>
Normal
0
MicrosoftInternetExplorer4
</xml><![endif]--><style>
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Обычная таблица";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";}
</style>
<![endif]-->
<p>
<strong>Текст</strong> из Word для <em>проверки</em>
</p>
Не намного лучше - снова куча абсолютно бесполезного мусора и только в самом конце единственная полезная строчка. В нее передалось только выделение жирным текстом и курсивом. Уберем мы и эту кнопку - ведь наши редакторы не знают таких деталей. Они будут думать, что если есть кнопка Вставить из Word, а они работают в Word, то надо этой кнопкой пользоваться.
3. Результат вставки текста из Word - через кнопку
(Вставить как текст):
Для вставки открывается диалоговое окно:
В окно и в страницу вставляется текст без всякого форматирования:
Текст из Word для проверки
Вставился код HTML:
Текст из Word для проверки
Просто текст, никакого форматирования, ничего лишнего. Вот это нам и нужно. Нам не нужно, чтобы на страницах сайта что-то было в точности как в Word. Нам нужны единообразное оформление всех страниц.
Если нам потребуется опубликовать какой-то документ со всем оформлением, "как в Word", мы его выложим в формате PDF для загрузки или для просмотра в браузере - как пожелает посетитель в зависимости от размера файла. Это относится и к документам, подготовленных в других программах. Например, непосредственно на сайте можно просмотреть Руководство по установке ruCAD в "формате сайта". Это же Руководство можно просмотреть в формате PDF. И это же Руководство доступно в виде CHM-справки в составе системы ruCAD после инсталляции.
Разумеется, сам текст был подготовлен один раз в программе Help&Manual, но его визуальное представление сделано в нескольких вариантах.
Вывод:
Кнопка
Вставить из Word по сути вредна - мусор не удаляет. Зато мы её удалим из своего редактора. И оставляем кнопку
для того, чтобы иметь единственный вариант вставки текстов.
Написать комментарий
Реплика №1: 20.10.2009, 14:45:08