Перейти к контенту
  • 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, огромное спасибо!

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

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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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