Перейти к контенту
  • 0

Количество выделений фрагмента, с которым производятся действия формат


SlavaRom

Вопрос

При форматировании текста, выделение фрагмента, с которым производятся действия сохраняется только 2 раза. Затем выделение этого фрагмента автоматом снимается. А если с одним и тем-же фрагментом я хочу произвести более 3-х действий (например выделить жирным шрифтом, поменять размер шрифта, его цвет, расставить тэги? Настраивается-ли где-то это количество форматирований одного и того-же текста с выделением?
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Опишите последовательность ваших действий и браузер.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Браузеры ИЭ 6 и Mozilla Firefox 3.0.8.

Последовательность:

1. Набираю текст в окне редактора

2. Выделяю фрагмент мышью

3. Выбираю необходимый Шрифт из списка ( нормально)

4. Выбираю размер из списка (нормально)

5. Выбираю цвет (подставляется после текста)

 

Например:

Выделяемый текст

 

В редакторе это так:

[size=3][font="Courier New"]Выделяемый текст[/font][/size]

[color="#FF0000"][/color]

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я пока могу только подтвердить, что так оно и есть.

Не "?", а нужен специалист по JS, который может это исправить и имеет свободное время. Ничего необычного.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
который может это исправить

Причину кажется понял. Но не понял, что с этим делать. Это же переписывать весь скрипт придется... Сам алгоритм порочный: выделять вместе с тегами. Надо сохранять выделение, сделанное пользователем, тогда новые теги будут вставать внутрь прежних, но зато их можно буедет последовательно ставить сколько угодно. А иначе после первой вставки тегов имеется выделенный текст, но он не соответствует выделению сделанному пользователем, что и приводет к сбою сценария последующего выделения.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

? потому, что ответов нет.

А зачем специалист-то по JS? Редактор в стандартной поставке движка форума IPB. Скорее вопрос к разработчикам. Причем и в SMF и vBulletin таких "особенностей" нет, там эта функция работает нормально (независимо от браузера). А процедура многократного форматирования выделенного текста не так уж и редко используется у многих.

FatCat, в vBulletin выделяется только текст (без тэгов) так как описано у вас, а в SMF исправно выделяется вместе с тэгами.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
здесь люди, которые добровольно и бесплатно помогают малолетним д******ам в их тупейших проблемах, не всегда связанных с ИП.Б
Ссылка на комментарий
Поделиться на других сайтах

  • 0
здесь люди, которые добровольно и бесплатно помогают малолетним д******ам в их тупейших проблемах, не всегда связанных с ИП.Б

У меня вопрос был по редактору движка IPB, который как выяснилось не работает как надо за деньги, в то время, когда бесплатные движки (SMF) работают исправно. И если ibresource продает лицензии, то вполне может контактировать с разработчиком, не так ли, Arhar ?

Итак, повторюсь:

1. Проблема редактора (в данном случае) - проблема IPB.

2. Мною она описана в том разделе, который специально для этого и предназначен.

3. Что касается обозначенной фразы Arhar, то может вы заняты не своим делом, раз вас это раздражает, а то заявления подобного рода бросают тень на весь ibresource? Надеюсь, что это было не серьезно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Скорее вопрос к разработчикам

Если промотать страницу до самого низа, в копирайтах есть ссылка на сайт разработчиков.

 

 

в SMF исправно выделяется вместе с тэгами.

Мне это не настолько интересно, чтобы скачивать, устанавливать и изучать новый движок форума.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если промотать страницу до самого низа, в копирайтах есть ссылка на сайт разработчиков.

Я знаю. А для чего-же тогда этот раздел на сайте представителя разработчика?

 

Мне это не настолько интересно, чтобы скачивать, устанавливать и изучать новый движок форума.
Я вас к этому и не принуждаю, я констатирую факт.

 

И все-же хочу вернуть всех в деловое русло, отбросив эмоции. Проблема обозначена и не решена.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

я занят тем делом, которое мне безумно нравится, не обращайте внимание на резкость, я могу иногда так высказываться

 

итак к делу

для firefox достаточно открыть ./jscripts/ipb_editor_std.js

найти в функции wrap_tags

		postfieldobj.selectionStart = cpos;
	postfieldobj.selectionEnd   = cpos;

заменить на

		postfieldobj.selectionStart = ss+(opentext.length);//cpos;
	postfieldobj.selectionEnd   = es+(opentext.length);//cpos;

сейчас посмотрю для ие

 

для ие там же чуть-чуть выше удалить

rng.select();

вот и все

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Я знаю. А для чего-же тогда этот раздел на сайте представителя разработчика?

да просто пообщаться.

а для чего все форумы?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо, Arhar!

Но версия движка 2.3.6 (указано в названии темы).

Ни файла, ни подобных кодов в скриптах (ips_text_editor.js, ips_text_editor_func.js, ips_text_editor_lite.js) не нашел.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Действительно, работает. :D sel.select() второй раз уже не в этой функции? Только выделение сразу снимается. Но только в Эксплорере. Тоже самое в других обозревателях не работает. Ни в Опере, ни в Фоксе.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

в опере и фоксе там какая-то другая жесть уже, надо дебажить, могу сказать только на живом пациенте

 

несжатый файл бы

 

нашел несжатый

итак, тут похожий трабл

					this.editor_document.selectionStart = open;
				this.editor_document.selectionEnd   = end;
				this.editor_document.scrollTop	  = st;

вот это искать, возможно в сжатом будут другие пробелы

проблема в том, что вычисляется это уже слегка не так, как в 2.1

сейчас буду пытаться шаманить, устраивая сферический редактор в вакууме)

 

в общем все просто

находим

if(!text.match(new RegExp("\\" + this.open_brace + "(\\S+?)" + "\\" + this.close_brace + "\\" + this.open_brace + "/(\\S+?)" + "\\" + this.close_brace ) ) )

меняем на

if(true)

это гвоздь микроскопом, может там автор что-то имел ввиду другое, но все же

 

кстати в таком случае недавно вставленные теги оборачиваются следующим нажатием на другой тег

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Arhar, огромное спасибо!

На Фоксе проверил, все нормально. Позже проверю Оперу.

А где брать не сжатый файл или как разжать имеющийся?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.