| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Добавление html тэгов в поле TEXTAREA |
| Автор: Reverent 30.5.2007, 12:59 |
| Недавно взял на себя смелость создать один из проектов. В которой создается система подобной WYSIWYG для создания HTML редактора встроенного в браузер. Для этого выбрал форму TEXTAREA для вставки новых элементов созданных пользователем через панель команд. Но столкнулся с одной проблемой. При создании таблицы и добавление ее в поле TEXTAREA я использовал следующий код: <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=windows-1251"> <script language="javascript"> function Table_Add() { var con = document.HTMLhere.contenter; table = document.createElement("table"); table = con.appendChild(table); table.setAttribute("border", 1) for(i = 0; i < 3; i++) { tr = table.insertRow(table.rows.length); for(z = 0; z < 3; z++) { td = tr.insertCell(tr.cells.length); txt = document.createTextNode("work"); td.appendChild(txt); } } } var obj = new Object(); pok = obj.hasOwnProperty(); alert(pok); </SCRIPT> </HEAD> <BODY> <FORM name="HTMLhere"> <TEXTAREA rows="20" name="contenter" style="width: 100%"></TEXTAREA> <P> <INPUT type="button" value="Table" onclick="Table_Add()"> </P> </FORM> </BODY> </HTML> Работает код на отлично, но с большим НО. Все счастье происходит только в IE как только дело доходит до FireFox или Opera скрипт даже не шевелиться. Причем в чем вся замута что ошибок код так же не вызывает в этих браузерах он просто игнорируется системой. Почему так??? И можно ли решить эту проблему. А то заказчик ждет а я туплю :( |
| Автор: ksnk 30.5.2007, 14:53 | ||||
Вот так вот перепиши
, или так
|
| Автор: Reverent 30.5.2007, 15:44 |
| Даже переписав таким образом FireFox этот код не воспринимает.... :( |
| Автор: ksnk 30.5.2007, 16:05 |
| А у меня, почему-то воспринимает... Можно порекомендовать плагин FireBug для FF и отлаживать скрипты прямо как нормальные люди P.S. Вау... торможу! Посмотрел в IE. Да тут прямо визивиг какой-то... В не IE такое можно вставить только в IFrame, если перевести его в designMode = "on"; Правда это слишком сложно, чтобы объяснить тут и мне |
| Автор: Reverent 30.5.2007, 17:39 |
| Мда правдо вот designMode работает только в IE |
| Автор: ksnk 30.5.2007, 18:06 |
| не все так неоднозначно ;) есть-же в природе WYSIWYG редакторы, к примеру, FCK Editor или там tiny_mce, которые исправно работают во всех приличных броузерах. Если проект имеет хоть призрачные перспективы разростись во что-нибудь приличное, да и просто для самообразования - можно попытаться встроиться в какой-нибудь из таких редакторов. |
| Автор: ksnk 31.5.2007, 14:23 |
Это добро предлагается под LGPL лицензией, так что пусть все идут лесом. В конце концов продаешь ты не Mce Editor, а собственный труд по адаптации его к собственоой программе и установке у пользователя Юзать большой, красивый и безглючный редактор вместо маленького, убогого и самодельного - еще один неплохой довод. Его серверные запчасти реализованы на нескольких серверных языках, не только asp, но и на PHP, в частности. А в основном он написан на JavaScript. Tiny MCE - написан на чистом JS. Оба этих редактора умеют работать с таблицами. |
| Автор: Reverent 31.5.2007, 16:50 |
| Блин ребят все конечно круто. Я конечно выберу Tiny MCE. Но моя програмерская душа жаждет узнать как же всетаки это возможно создать, коль это уже имеет реализацию - значит возможно сделать самому. Остался один вопрос КАК???? Неужели у нас в Росси нет профи среди JavaScript кто сможет ответить на этот вопрос??? |
| Автор: ksnk 31.5.2007, 18:35 |
http://xpoint.ru/know-how/WYSIWYG/TrueJavaScriptEditor, к примеру |
| Автор: 12345c 4.6.2007, 16:59 |
| Всё достаточно просто, если посмотрите, что поддерживает FF. Он поддерживает designMode только в iframe. Все редакторы поэтому используют этот подход для совместимости. Второе: самому написать безглючный редактор - очень большая проблема, т.к. FCK долго-долго делали, а до недавнего времени он слыл как глючный. Проблемы не только в сложности наворотов, а в том, что JS в каком-то IE5.5 какой-то конкретной конфигурации патчей безопасности возьмёт, и не сработает. Пользователю до этого нет дела, он видит, что не работает - пишет жалобу. Крайний кто будет? : ) |
| Автор: Reverent 4.6.2007, 18:45 | ||
Да конечно в этом ты прав на 100%. В общем хочу подвести итоги. Что опять же не стоило изобретать велосипед, а нужно было хвататься за то что уже работает - глядишь лет так через 10-ять программеры вобще будут не нужны.... |