我在 Google Chrome 中遇到了一个有趣的错误,或者在剪贴板应用程序的方式上不太可能 . 在选定的浏览器上执行副本( Ctrl+V )时会发生错误,该HTML包含混合的文本和图像,更具体地说,在此情况下的图像被编码为包含不同大小的多个副本时会发生 . 我需要帮助验证哪个应用程序是罪魁祸首(浏览器或剪贴板),理想情况下是一个修复程序(如果有的话)(也许是注册表编辑) .

这可能会带来一些安全风险,具体取决于此行为如何发挥作用 .


发现

让我先来看看我是如何在_2447094中首次发现这个错误的....

我有时会在 OneNote 中保存我遇到的文章供以后阅读 . 我在 Windows 7 Enterprise SP1 (64-bit) 上使用本地安装的 OneNote 2016 副本 . 因为它是一个企业副本,官方 Web Clipper 扩展不是一个选项,所以我只是在冲动时手动复制文章 .

奇怪的是,我发现当我选择一大块文本并复制并粘贴它时,OneNote中的图像质量有时会低于我在Web浏览器中的质量 .

作为案例研究,我试图手动复制本文:Meet the frail, small-brained people who first trekked out of Africa .

当复制为图像块格式化文本时(在浏览器中:突出显示所需区域, Ctrl+C ; _2447102中的 Ctrl+V ),图像差异立即显着 . 我发现如果我只是文章图像并选择了 Copy image 然后使用特定的 right-clickPaste options: > Picture (U) (最右边的一个)粘贴到OneNote中,我会获得更高分辨率的图像 .

这是一个例子,图像重复出现在原始批量粘贴之上 .

enter image description here

深入研究Web代码,我相信我已经找到了原因 . 当我假设某种变量样式中列出的同一图像的多个副本用于容纳不同的屏幕分辨率或者特定于移动设备与PC的布局时,会出现问题 .

图片网址包含在以下代码中的 <img... 代码中:

<figure class="figure">
  <img sizes="" src="http://www.sciencemag.org/sites/default/files/styles/inline__450w__no_aspect/public/gg_61125N_FirstHumans_BottomPart.png?itok=d0BdUhJK" srcset="http://www.sciencemag.org/sites/default/files/styles/inline__450w__no_aspect/public/gg_61125N_FirstHumans_BottomPart.png?itok=d0BdUhJK 1w, http://www.sciencemag.org/sites/default/files/styles/inline__699w__no_aspect/public/gg_61125N_FirstHumans_BottomPart.png?itok=j9n6dGdk 700w" />      <figcaption>
      <div class="caption"></div>
      <div class="credit">

      Garvin Grullón  
</div>
    </figcaption>
  </figure>

当矢量图形类型图像出现时,粘贴图像的差异更明显,我认为这可能是将矢量图形转储到 *.png 然后在新闻人员的照片编辑软件中调整大小的副产品(有点打败了矢量图形的点),因此屠杀重新缩放的分辨率 .

我在下面展示了整个 OneNote 复制/粘贴问题的几个实例,以说明:

enter image description here


范围

进一步测试我发现当复制包含带有多个URL的 <img ...> 内容的文本块和图像块时,所有Office 2016程序(在 Word 2016PowerPoint 2016 上测试)都会出现此错误 .

我还发现,当通过 right-click > Copy image 策略直接粘贴图像时,只有 Paste Options 中的 Picture (U) 选项会粘贴正确的高分辨率图像,与浏览器中显示的内容相匹配 . 即使采用这种策略, Keep Source Formatting (K)Merge Formatting (M) 仍然会有趣地粘贴低分辨率副本 .

现在浏览器( Chrome Version 54 )正在显示正确的副本,这使我尝试在 Internet Explorer 11.0 中测试相同的文章和复制和粘贴方法 . 在 IE 11 中它加载了正确的最高分辨率图像( Chrome Version 54 也是如此),但与Chrome不同,当使用同一篇文章批量复制并粘贴 Internet Explorer 11OneNote 2016 时,神奇地将最高分辨率的图像正确粘贴 .

这让我想到了 Chrome 浏览器复制和粘贴中的错误 .

实际上,我可能已经确认了这一点,例如在Adobe Pro(这是我唯一的其他本地安装的富媒体软件,我知道有剪贴板粘贴选项),从剪贴板中选择粘贴(在编辑模式下: Pages (右侧菜单窗格,从顶部开始)> More Insert Options (在 Insert Pages 部分下)> Insert from Clipboard )然后将生成的块中的图像复制并粘贴到 MS Paint 中,我看到它确实仍然是较低的res图像,如 Office 2016 .

因此,我发现范围不仅仅是 OneNote 2016Office 2016 ,而是所有本地富媒体应用程序,包括Microsoft 's own apps and third party apps from Adobe, etc. That said, I' m仍然没有100%确信我可以在 Google Chrome 上修复该错误,因为它可能不太可能发生问题位于 Windows 7 的剪贴板应用程序中,因为它也可以解释通用性影响本地富媒体粘贴尝试 .

再看一下 img 标签,我确实看到 srcset attributeimg 标签的一个新属性,当使用它时被称为“Responsive Images” . 该功能是announced by the W3C Working Group in 2014,根据我的阅读,大多数第三方移动和PC浏览器声称支持它 . 我怀疑是used with CSS to target different platforms ......看起来所谓的"Retina"(高分辨率)显示器之间的分辨率的大分歧,就像Apple的移动设备和低端显示器中的预算 Android 设备和预算PC中的部分启发了这个属性的加成 .

幽默地,诊断站点_244152_ lists img srcset 属性在 Internet Explorer 11 中不起作用并且在 Google Chrome version 54 中工作 . 在这种情况下,具有讽刺意味的是,对于这个用例,情况恰好相反 - 从 Internet Explorer 11 正确解析响应图像时, Chrome 54 的副本无法正常工作 .

这仍然不是浏览器或剪贴板应用程序,但它肯定是我觉得有趣的注意事项,因为它表明还有一个关键的缺失部分,因为复制和粘贴似乎是一个常见的用例内容丰富 .


问题

总结一下,我已经跟踪了范围,但以下仍然是未解决的问题

  • 哪个应用负责 Windows 7 的剪贴板应用或 Google Chrome

  • 对于有问题的应用程序,是否有一个注册表设置,我可以调整以批量复制并粘贴浏览器显示的任何图像?

另外,如果错误在 Google Chrome 中,可以回顾一下之前的想法,可能会有一些有趣的安全性表示,因为你的剪贴板应用程序与浏览器窗口中的渲染内容不匹配 .