Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   извлечь html из clipboarddate в IE (https://javascript.ru/forum/xhtml-html-css/50407-izvlech-html-iz-clipboarddate-v-ie.html)

DjDiablo 25.09.2014 01:40

извлечь html из clipboarddate в IE
 
Перед вами друзья мои обработчик события past
Ножно забрать вставленные данные в формате html

if(window.clipboardData){ //lдля IE
   xDOM.innerHTML=window.clipboardData.getData('Text');
}else{ //для нормальных браузеров
   xDOM.innerHTML=AEvent.clipboardData.getData('text/html');        
}
event.preventDefault();//отменим срабатывание по умолчанию


Если это ie то сработает window.clipboardData

Во всех браузерах clipboardData.getData('text/html'); вернет html
а в ie текст.

При этом text/html IE не поддерживает

Vlasenko Fedor 25.09.2014 02:35

<input type="text" id="youtext">
    <script>
      youtext.onpaste = function (e) {
        var buf = window.clipboardData ? 
            window.clipboardData.getData('text') : 
        	(e.originalEvent || e).clipboardData.getData('text/plain');
        alert(buf);
      };
    </script>

так вернет и Html

DjDiablo 25.09.2014 03:43

Спасибо, но не все так просто.

Скопируй кусок страницы (допустим из яндекса) и вставь в input, и попробуй найти хотябы один тег.
Мне не нужен текст, мне нужен скопированный кусок страницы вместе со всей разметкой, почему и использую /html а не /plain.

DjDiablo 25.09.2014 03:54

Вот здесь можно посмотреть как пример отрабатывает при вставке куска страницы в хроме
Нужно в ишаке тоже получить текст с разметкой, то бишь HTML.

<div contenteditable  id="youtext" style="height:200px;"> </div>
    <script>
      youtext.focus();
      youtext.onpaste = function (e) {
        var buf = window.clipboardData ? 
            window.clipboardData.getData('text') : 
        	(e.originalEvent || e).clipboardData.getData('text/html');
        alert(buf);
      };
    </script>

melky 25.09.2014 08:38

Stack overflow ? http://stackoverflow.com/a/6804718


Часовой пояс GMT +3, время: 14:48.