2012-04-01 99 views
1

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

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

当剪贴板的变化,我将剪贴板中的内容到web浏览器使用粘贴:

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

现在,粘贴从网页为HTML的任何复制的内容时,我得到的HTML中

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

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

那些是什么?我该如何摆脱它们? 任何帮助真的很感激。

这里是google.de为例HTML代码 http://pastie.org/pastes/3706386/text

我将如何确保粘贴剪贴板是完全一样的,在剪贴板复制的数据?

回答

0

在Mac上,多次出现的常规空格“”会被转换,使得它们会用非破坏性空格字符替换其他每个常规空格。 这样可以让空格在每一个其他字符上仍然打破,但保留这样的范围空间。

原因是因为没有这个技巧,HTML会将多个空格压缩到一个空格。只有 个字符将禁用换行,因为他们的名字表示它们不会中断。

除了“苹果转换空间”也有“苹果式跨度”,但由Webkit的2011年淘汰:https://www.webkit.org/blog/1737/apple-style-span-is-gone/

因此,要回答你的问题:因为WebKit是填充纸板你无法做任何事情来阻止这种行为。

+0

我认为* OP在C#中看到了这一点,在Windows上制作应用程序,这就是为什么这是特别奇怪的原因。微软的剪贴板变成了“[HTML剪贴板格式](https://msdn.microsoft.com/en-us/library/windows/desktop/ms649015(v = vs.85).aspx)”,它插入了“Apple-转换空间“的课程(和其他文书),尽管它们不在原文中。这是痛苦的。 – ruffin 2016-10-12 20:58:28