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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> editMode картинки в iframe.designMode = 'On' 
V
    Опции темы
Onis
  Дата 3.12.2009, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



В iframe c designMode = 'On', при клике на картинку она становится доступной для ресайза, см. скриншот:
user posted image
Такой специфический вопрос - как это убрать для ослика и лисы? И вообще  возможно ли это?
PM MAIL   Вверх
Котокобра
Дата 4.12.2009, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



а что это за designMode такой? приведи кусок кода, плз

upd:
Цитата
объект document
designMode (Чтение/Изменение)
   NN n/a   IE 5 
 

Свойство designMode используется только тогда, когда средства IE5 выступают в качестве компонента другого приложения. Это свойство указывает, будет ли модуль броузера использоваться для редактирования HTML-кода.


Это сообщение отредактировал(а) Котокобра - 4.12.2009, 16:08
PM MAIL   Вверх
Onis
Дата 4.12.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Разрабатываю темплейт редактор wysiwyg. Он уже находится практически на последней стадии разработки, допиливаю напильником.
Код огромен, но вот небольшая часть где конкретно создается фрейм и копируется в него контент редактируемой ноды:
Код

        editFrame = document.createElement('iframe');
        editFrame.className = 'editBorder';
        editFrame.id = 'iframeEditor';
        editFrame.setAttribute('scrolling','no');
        editFrame.setAttribute('frameborder','0');
        editFrame.style.height = selectedBlock.offsetHeight - 2;
        editFrame.style.width = selectedBlock.offsetWidth - 2;
        editFrame.style.visibility = 'hidden';
//      editFrame.style.display = 'none';
        editFrame.setAttribute('frameBorder', '0');
        iframeDoc = editFrame.contentWindow.document;
        if ( ! iframeDoc.designMode)
                return;

        iframeDoc.designMode = 'On';

    iframeDoc.open('text/html; charset="UTF-8"');
    iframeDoc.write('<html><head>');

        //add Stylesheets
    for (var i = document.styleSheets.length - 1; i>=0; i-- )
        {
        iframeDoc.write('<link rel="stylesheet" type="text/css" href="'+document.styleSheets[i].href+'">');
        }
    iframeDoc.write('</head><body></body></html>');
    iframeDoc.close();

        var ibody = iframeDoc.body;
        var nwrap = (hFlag)? 'white-space:nowrap;display:inline;' : '';
        var pEl = (hFlag)? 'div' : 'div'; //delete this
        ibody.innerHTML = '<'+pEl+' style="overflow:hidden;'+ nwrap +'">'+selectedBlockClone.innerHTML+'</'+pEl+'>';



Это сообщение отредактировал(а) Onis - 4.12.2009, 18:10
PM MAIL   Вверх
Onis
  Дата 18.12.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Нашел то что было нужно. Для начала лучше использовать не designMode = 'on' а contentEditable = 'true';

Для лисы ресайз картинок убирается с помощью:
Код

document.execCommand('enableObjectResizing', false,false);

Для ослика :
Код

      selectedBlock.oncontrolselect = function(){return false;};
      var imgs = selectedBlock.getElementsByTagName('IMG');
        var ln = imgs.length;
        for(var i = 0; i < ln; i++)
        {
                if(is_MSIE)
                {
                        imgs[i].contentEditable = false;
                        imgs[i].onbeforeeditfocus = function(e){return false;};
                        imgs[i].onresizestart = function(e){return false;};
                }
}


Всем спасибо.

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


 




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


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

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