2012-04-01 134 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