Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вставить произвольный HTML-текст в iframe, именно для IExplorer 
:(
    Опции темы
Gradov
Дата 19.2.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.10.2006

Репутация: нет
Всего: 3



Привет Всем. Как вставить произвольный HTML-текст в тек. позицию iframe бокса, для Internet Explorer, при(designMode="on" для iframe)? Надо именно для IExplorer, потому как для FireFox и Opera есть 
Код

execCommand("insertHTML",...



Есть такой RTE TinyMCE, вот он делает это в IExplorer, а разобраться в его исходном коде сил нету! Помогите кто знает как это сделать.
PM MAIL   Вверх
Amphiluke
Дата 19.2.2010, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
<script type="text/javascript">
    function pasteSpan(iframe_id) {
        var isFF = (window.addEventListener) ? true : false;
        var iframe = (isFF) ? document.getElementById(iframe_id) : frames[iframe_id];
        var iDoc = (isFF) ? iframe.contentDocument : iframe.document;
        var el=document.createElement("span");
        el.innerHTML = "hello world!";

        if(!isFF){ // IE
            var rng = iDoc.selection.createRange();
            rng.pasteHTML(el.outerHTML);
        }else{ // FF
            iframe.contentWindow.getSelection().getRangeAt(0).insertNode(el);
        }
        return false;
    }
    
    window.onload = function() {document.getElementById("ifrm").contentWindow.document.designMode = "on";}

</script>
</head>

<body>
    <p><a href="#" onclick="return pasteSpan('ifrm');">Paste div</a></p>
    <p><iframe src="iframe_doc.html" id="ifrm" height="400" width="500"></iframe></p>
</body>
</html>

Ну, или переделайте это с использованием execCommand.
PM   Вверх
Gradov
Дата 19.2.2010, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.10.2006

Репутация: нет
Всего: 3



Спасибо работает. Только вот почему когда я пытаюсь вставить изображение(тег img), то IE почему то всегда в качестве ссылки изображения вставляет about:blank и картинка не видна. Как вставить картинку со своим стилем?
PM MAIL   Вверх
Gradov
Дата 19.2.2010, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.10.2006

Репутация: нет
Всего: 3



Ура заработало для внешних ссылок! smile  Видимо для ссылок локальных(file://) у IE имеется баг.



Amphiluke, спасибо за помощь. Подскажите где можно найти DOM Reference для IExplorer? По типу такого как Gechko DOM Reference на сайте Mozilla, а то я нигде не нашел. Может есть книга какая,  подскажите?
PM MAIL   Вверх
Amphiluke
Дата 19.2.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Проверил, никаких проблем в IE не обнаружил... smile
Код

rng.pasteHTML("<img src='earth2.gif' alt='' />");


Блин, опоздал. smile

ИМХО, практически всё что нужно по IE, можно найти в MSDN.

Это сообщение отредактировал(а) Amphiluke - 19.2.2010, 16:57
PM   Вверх
Gradov
Дата 19.2.2010, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.10.2006

Репутация: нет
Всего: 3



Цитата(Amphiluke @  19.2.2010,  16:55 Найти цитируемый пост)
Проверил, никаких проблем в IE не обнаружил... 

А у меня локальные ссылки на изображения не вставляются почему то, вместо них about:blank вставляется. НО, что интересно TinyMCE легко вставляет локальные изображения. Почему у меня то 
Код

rng.pasteHTML("<img src='earth2.gif' alt='' />");
 не работает при локальной работе браузера, т.е когда открываешь файлик через меню?
PM MAIL   Вверх
Gradov
Дата 20.2.2010, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.10.2006

Репутация: нет
Всего: 3



Цитата(Amphiluke @  19.2.2010,  16:55 Найти цитируемый пост)
ИМХО, практически всё что нужно по IE, можно найти в MSDN.


Да, спасибо. Как же это я забыл про MSDN! Почему то не думал, что там есть информация по web-программированию, а зря smile. 
PM MAIL   Вверх
Gradov
Дата 20.2.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 31.10.2006

Репутация: нет
Всего: 3



Цитата(Gradov @  19.2.2010,  17:50 Найти цитируемый пост)
А у меня локальные ссылки на изображения не вставляются почему то, вместо них about:blank вставляется. 


Проблему с изображениями решил: я забыл указать кодировку для iframe, а она по умолчанию была unicode, поэтому и были проблемы с отображением ссылок. Но появилась новая проблема, я ее сделал отдельной темой - http://forum.vingrad.ru/forum/topic-292003.html. Помогите, пожалуйста, решить. 
  

Это сообщение отредактировал(а) Gradov - 20.2.2010, 15:12
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0470 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.