【问题标题】:How does gmail preserve copy and pasted web content, maintaining the attached CSS?gmail 如何保留复制和粘贴的网页内容,维护附加的 CSS?
【发布时间】:2015-11-13 04:23:57
【问题描述】:

我不确定该功能启用了多长时间,但我刚刚意识到,我几乎可以将任何网络内容复制并粘贴到 gmail 上的邮件中,并且可以完美地保存它 - 零转录错误。图像、格式和全方位的 CSS 都得到了完美的保留。

但是,如果您将相同的内容粘贴到文本框中,它当然会转换为某种纯文本。

我试图弄清楚这是怎么可能的。 gmail 如何知道网页内容的样式?它怎么知道它来自哪里?

顺便说一句,这发生在 Chrome 中。我什至不知道这是浏览器、电子邮件提供商或它们的组合的功能。

【问题讨论】:

    标签: html css google-chrome web gmail


    【解决方案1】:

    它是操作系统、您从中复制的源应用程序以及您要粘贴到的目标应用程序的组合。

    源应用程序应允许选择和复制丰富的信息。

    操作系统的剪切/粘贴功能需要了解丰富的内容是什么。

    目标应用程序需要了解丰富的内容是什么以及如何处理它。

    当你剪切粘贴 HTML 页面信息时,CSS 不是复制粘贴的。屏幕上显示的信息被复制为丰富的内容,然后粘贴到目标系统上。

    Gmail“了解”如何正确解释粘贴到其中的信息。文本程序也理解如何解释信息——它知道它应该丢弃例如所有图像。

    MS Word 例如在粘贴 HTML 内容时会犯很多错误。它不明白如何理解 HTML。

    【讨论】:

    • 为了清楚起见:操作系统剪贴板 API 可以以各种“风格”传输数据:纯文本、富文本、HTML、音频。 (在 Windows 和 OS X 上,您实际上可以指定您希望的任何数据格式。)因此,读取剪贴板的纯文本编辑器不一定可以理解富文本并从中删除图像等,而是写入到剪贴板的软件剪贴板将提供您正在复制的内容的几种表示形式。 (这更有意义:浏览器比文本编辑器更适合弄清楚如何将 HTML 转换为纯文本。)
    • 类似地,当您从网络浏览器复制粘贴到同一网络浏览器的另一个选项卡时,浏览器完全有可能将 HTML 写入剪贴板,而不是通过富文本进行往返. (我还认为这更有可能,因为浏览器已经知道对任何给定元素应用了哪些样式声明,因此发出规范表示应该很简单。)Chrome 确实提供了您复制的任何内容的 HTML 风格。
    • 我想我还有一个问题,gmail是如何“理解”如何解读丰富信息的?用 JavaScript 是怎么做到的?有什么 API?
    猜你喜欢
    • 2012-06-02
    • 2011-05-22
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 2019-08-11
    相关资源
    最近更新 更多