【问题标题】:Pasting clipboard content in webbrowser component在 webbrowser 组件中粘贴剪贴板内容
【发布时间】:2012-04-01 00:49:38
【问题描述】:

我编写了一个小应用程序,它将监视剪贴板并将文本直接粘贴到网络浏览器组件中。

...
DocumentWysiwyg = ClipBoardWebBrowser.Document.DomDocument as IHTMLDocument2;
DocumentWysiwyg.designMode = "On";
...

当剪贴板发生变化时,我将剪贴板内容粘贴到网络浏览器中:

ClipBoardWebBrowser.Document.Write(Clipboard.GetText(TextDataFormat.Html));

现在,当将任何从 Web 复制的内容粘贴为 html 时,我会进入 html

span class="Apple-converted-space"> </span

不属于我从网站复制的html。

那些是什么?我怎样才能摆脱它们? 非常感谢任何帮助。

这里是 google.de 的 html 代码作为示例 http://pastie.org/pastes/3706386/text

如何确保粘贴的剪贴板与剪贴板中复制的数据完全相同?

【问题讨论】:

    标签: c# browser clipboard


    【解决方案1】:

    在 Mac 上,多次出现的常规空格“”被转换,以便它们用不间断的空格字符替换所有其他常规空格,这允许空格仍然在每个其他字符上中断,但保留这样的空格范围。

    这是因为如果没有这个技巧,HTML 会将多个空格压缩为一个空格。只有   字符会禁用换行,因为正如其名称所述,它们不会中断。

    除了“Apple-converted-space”之外,还有“Apple-style-span”,但在 2011 年被 Webkit 淘汰:https://www.webkit.org/blog/1737/apple-style-span-is-gone/

    所以回答您的问题:由于 Webkit 正在填充粘贴板,因此您无法采取任何措施来防止此类行为。

    【讨论】:

    • 认为 OP 在 C# 中看到了这一点,在 Windows 上制作应用程序,这就是为什么这特别奇怪。微软的剪贴板把东西变成了“HTML Clipboard Format”,它插入了Apple-converted-space类(和其他杂乱无章的东西),即使它们不在原始文件中。很痛苦。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多