2015-08-19 1 views
0

Я не уверен, как долго функция была активной, но я только что понял, что могу копировать и вставлять почти любой веб-контент в сообщение в gmail, и он сохранит его совершенно - нулевые ошибки транскрипции. Изображения, форматирование и все вокруг CSS прекрасно сохраняются.Как gmail сохраняет копию и вставляемый веб-контент, поддерживая прикрепленный CSS?

Однако, если вы вставляете то же самое в текстовое поле, оно, конечно, преобразуется в какой-то простой текст.

Я пытаюсь выяснить, как это возможно. Как gmail знает стиль для веб-контента? Как он может знать, откуда он?

Это, кстати, происходит в Chrome. Я даже не знаю, является ли это особенностью браузера, поставщика электронной почты или их комбинации.

ответ

2

Это комбинация ОС, исходное приложение, из которого вы копируете, и приложение-получатель, к которому вы вставляете.

Исходное приложение должно разрешать выбор и копирование богатой информации.

Функциональность OS cut/paste должна понимать, что такое богатый контент.

Приложение назначения должно понимать, что такое богатый контент и как его обрабатывать.

Когда вы вырезаете данные страницы HTML, CSS не копируется. Информация, отображаемая на экране, копируется как богатый контент, а затем вставляется в целевую систему.

Gmail «понимает», как правильно интерпретировать информацию, вставленную в нее. Текстовая программа также понимает, как интерпретировать информацию - она ​​знает, что она должна отбрасывать, например. все изображения.

MS Word, например. делает обильные ошибки при вставке содержимого HTML. Он не понимает, ну, как понимать HTML.

+0

Для большей ясности: API-интерфейс буфера обмена OS может передавать данные во множестве «ароматов»: простой текст, богатый текст, HTML, аудио. (В Windows и OS X вы можете указать любой формат данных, который вы хотите.) Поэтому не обязательно, чтобы обычный текстовый редактор, читающий буфер обмена, мог понимать богатый текст и снимать с него изображения и т. Д., Но что программное обеспечение, буфер обмена предоставит несколько представлений о том, что вы копируете. (Что имеет смысл: браузер больше подходит для выяснения способа преобразования HTML в обычный текст, чем текстовый редактор.) – millimoose

+0

Аналогично, когда вы копируете вставку из веб-браузера на другую вкладку того же веб-браузера, это вполне возможно, что браузер пишет HTML в буфер обмена, вместо того, чтобы совершать обратный путь через богатый текст. (Я бы также утверждал, что это более вероятно, так как браузер уже знает, какие объявления стиля применяются к любому элементу, поэтому излучение канонического представления должно быть простым.) Chrome, безусловно, предлагает HTML-вкус всего, что вы копируете. – millimoose

+0

Я догадываюсь, что у меня есть вопрос, как gmail «понимает», как интерпретировать богатую информацию? Как это делается с JavaScript? Какой API для этого? – Aerovistae