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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка с execCommand, помогите сделать WYSIWYS редактор 
:(
    Опции темы
Irokez
Дата 17.4.2005, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 1
Всего: 53



как всегда в ИЕ работает, в ФФ ошибка - uncaught exception
Код

<html>
<head>
<title>HTML Area</title>
</head>
<style>
.btn
{
    width:25px;
    height:25px;
}
#EditFrame
{
    width:500;
    height:150;
    border:solid 1px #000000;
}
</style>
<body>
<table>
  <tr>
    <td>
      <input type=button class=btn onClick="EditField.execCommand('bold', false, null)" value=b>
      <input type=button class=btn onClick="EditField.execCommand('underline', null, null)" value=u>
      <input type=button class=btn onClick="EditField.execCommand('italic',null,null)" value=i>
      <input type=button class=btn onClick="EditField.body.innerHTML+='<table border=1><tr><td>ff</td></tr></table>'">
    </td>
  </tr>
  <tr>
    <td>
      <iframe id="EditFrame" style="" frameborder="0" contenteditable="true"></iframe>
    </td>
  </tr>
</table>
<script language=javaScript>
if (navigator.userAgent.match(/msie/i)) EditField = frames['EditFrame'].document;
else if (navigator.userAgent.match(/gecko/i)) EditField = document.getElementById('EditFrame').contentDocument;
else alert("Editor is not supported by your browser");
EditField.designMode = 'On';
</script>
</body>
</html>

PM   Вверх
Aliance
Дата 17.4.2005, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



execCommand IE только поддерживает, кажется...
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 17.4.2005, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 1
Всего: 53



Цитата(Aliance @ 17.4.2005, 17:39)
execCommand IE только поддерживает, кажется...

неа, и в ФФ тоже
PM   Вверх
Aliance
Дата 17.4.2005, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



MSDN:
Цитата
Minimum Availability
Internet Explorer 4.0 and later.


Это сообщение отредактировал(а) Aliance - 17.4.2005, 18:54
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 17.4.2005, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Aliance всё в мозилле есть... ну хотя бы в виде интерфейсов без реализации smile
http://www.xulplanet.com/references/xpcomr...MLDocument.html

Возвращается ошибка NS_ERROR_FAILURE, что значит "х.з. что за проблема но работать не буду" smile
Скорее всего фича попросту еще не имплементированна... могу ошибаться.

Если запросить doShowUI(по моему показать окошки), то получим другую ошибку: NS_ERROR_NOT_IMPLEMENTED - следовательно код пытается показать признаки жизни smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Irokez
Дата 17.4.2005, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 1
Всего: 53



проблему решил, объект EditFrame надо получать в body - onLoad, тогда все нормально.
в ФФ execCommand() работает нормально
PM   Вверх
Aliance
Дата 18.4.2005, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Странно, уже не первая подобная неточность MSDN =/
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 18.4.2005, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 1
Всего: 53



а как получить выделение для iframe?
у него в отличие от textarea нету selectionStart, есть метод - getSelection, но он только выдает текст выделения.
PM   Вверх
Sardar
Дата 18.4.2005, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Irokez @ 17.4.2005, 23:37)
метод - getSelection, но он только выдает текст выделения.

Не совсем, возвращается обьект Selection, которому передаём конкретный Range для селекции.
Код
var fwin=document.getElementById("test").contentWindow; //достали фреймовое окно
var m=fwin.document.createRange();
m.selectNode(fwin.document.body);  //закинем туда весь документ
var s=fwin.getSelection().addRange(m);  //отселектируем

Фрейм с id="test".


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


 




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


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

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