2012-04-01 10 views
1

Я написал небольшое приложение, которое будет контролировать буфер обмена и вставлять текст непосредственно в компонент webbrowser.Вставка содержимого буфера обмена в компонент webbrowser

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

и при изменении буфера обмена, я вставить содержимое буфера обмена в WebBrowser с помощью:

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

теперь при вставке любого скопированного контента из Интернета, как HTML, я получаю внутри HTML

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

который не относится к html, который я скопировал с веб-сайта.

что это? и как я могу избавиться от них? любая помощь действительно оценена.

вот HTML код google.de как например http://pastie.org/pastes/3706386/text

как бы я убедиться, что вставили буфер обмена точно так же, как скопированные данные в буфер обмена?

ответ

0

В Mac многократные вхождения регулярного пространства "" преобразуются таким образом, что они заменяют любое другое регулярное пространство неразрывным символом пробега aka   Это позволяет пробелам по-прежнему разбиваться на каждый другой символ, но сохраняет такие диапазоны пространства.

Причина этого заключается в том, что без этого трюка HTML сжимает несколько пространств до одного. Имея только  , символы будут отключать перенос строк, потому что, как говорится в их имени, они не будут прерываться.

В дополнение к «Apple-конвертированы-пространство» было также «Apple-стиль-диапазона», но был исключен из Webkit в 2011 году: https://www.webkit.org/blog/1737/apple-style-span-is-gone/

Так, чтобы ответить на ваш вопрос: так как Webkit заполняет картон вы не можете ничего сделать, чтобы предотвратить такое поведение.

+0

Я * думаю * OP видит это на C#, создающем приложение для Windows, поэтому это особенно странно. Буфер обмена Microsoft превращает вещи в «[Формат буфера обмена HTML] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms649015 (v = vs.85) .aspx)», в который вставляется «Apple- преобразованные пространства класса (и другие крутые), несмотря на то, что они не находятся в оригинале. Это больно. – ruffin

Смежные вопросы