![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Lely |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
Всем доброго времени суток...
Тут такая проблема... Пишу wysiwyg с методом execCommand...Изменение размера шрифта, его начертания и цвета делается так
А мне надо чтобы это происходило вот так
Я написала функцию обработки содержимого iframe при сохранении...которая выглядит так...
все работает как надо в IE...а в Opera и Mozilla не раюотает вообще... я думаю что им этот код не нравится уже со второй строчки...но как под них ее исправить не знаю... подскажите пожалуйста на всякий случай еще вот
все остальное в редакторе работает во всех браузерах...из чего делаю вывод что переменную iframe они все воспринимают нормально... |
||||||||
|
|||||||||
| EmilRegis |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: 1 Всего: 4 |
так вы гляньте в консоль ошибок..что там написано
|
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 35 Всего: 112 |
Вот такая вот альтернатива… Выглядит страшновато, потому что пришлось учитывать особенности каждого браузера. Например, FF задает атрибуты style в тегах font, и их приходится переносить на span. А IE не задает атрибуты style. А Opera вообще вкладывает теги font друг в друга, поэтому необходимо выполнять фунукцию рекурсивно.
|
|||
|
||||
| Lely |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
Amphiluke, спасибо вам большое. Вы опять меня выручаете...
вот только функция действительно очень гениальная и очень страшная...ну в хорошем смысле)))...она у меня раотает во всех браузерах...но она почему-то если задан размер шрифта переделывает его из <font size="5">Text</font> в <span size="5">Text</span> а по идее должно быть так <span style="font-size: large">Text</span> вот и самое главное мне бы так хотелось всетки понять что я в своей не так сделала...ведь я там тоже пробовала пользоваться getElementsByTagName и все равно ничего не получалось в Опере с Мозилой.... я просто хочу понять где ошибаюсь...чтобы лишний раз вас не доставать своими проблемами Добавлено через 13 минут и 29 секунд Я вот тут вношу изменения....
и нашлась проблема в последней строчке когда я удаляю атрибуты тега ФОНТ чтобы потом его просто заменить на СПАН в содержимом АЙФРЕЙМА как в строке...ИЕ принимает это... а в Опере с Мозилой надо наверно как-то по другому писать? |
|||
|
||||
| Lely |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
все... у меня получилось
вместо clearAttributes надо было три раза написать removeAttribute с разными параметрами спасибо вам еще раз, Amphiluke |
|||
|
||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 35 Всего: 112 |
Не… Я у себя проверил в четырех браузерах, и никаких <span size="5"> не обнаружил. Везде <span style="font-size: large"> Да, метод clearAttributes известен только IE. В остальных… даже не вспомню на вскидку, есть ли аналог. Только по отдельности removeAttribute или removeAttributeNode. А разве clearAttributes очищает атрибут style? Добавлено через 48 секунд Блин, не обновил страничку, поэтому не видел вашего последнего сообщения. |
|||
|
||||
| Lely |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
я еще раз решила посмотреть вашу функцию...вдруг она сливает друг за другом идущие спаны в один...оказалось нет =(...и она мне выдала после оперы вот такой результат
значит она еще и с именем шрифта неправильно иногда работает... Добавлено через 1 минуту и 33 секунды
странно...а у меня вот шалит =(( Добавлено через 5 минут и 19 секунд
нет он его не очишает...но этого мне как раз и не надо...задумка была взять проитись по тегам в айфрейме прочитать все их атрибуты и записать в их же стили...потом все атрибуты удалить....и последним штрихом взять перед сохранением уже все как текст и просто поменять все фонт на спан... я сначала тоже думала сделать как вы....потом решила что просто заменить будет проше |
||||||
|
|||||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 35 Всего: 112 |
Lely, ну не знаю. Вообще говоря, ваш код у меня почему-то совсем не работает ни в FF, ни в Opera.
P.S. А почему функция должна сливать span'ы? Это сообщение отредактировал(а) Amphiluke - 22.7.2010, 21:41 |
|||
|
||||
| Lely |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 5.9.2007 Репутация: нет Всего: нет |
с вкладыванием всего в один спан заморачиваться не буду...я думаю не так уж это страшно с точки зрения html, да?
Добавлено через 5 минут и 12 секунд
ну так бы было красивей наверно....менее избыточно, нет?
а в ИЕ работает?...там же совсем не весь код...всмысле до и после этого там же тоже всего куча понаписана...эт просто кусочек
да конечно...это первым делом проверю |
||||||
|
|||||||
| Amphiluke |
|
|||
|
☽ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1253 Регистрация: 26.8.2009 Репутация: 35 Всего: 112 |
Ну да, в принципе.
Ну, я этот кусочек испытывал на вашем же коде из этой темы. Но да, конечно, вполне возможно, что у меня не работает из-за того, что остальной код не совпадает с тем, который испытываете вы. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |