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

[2.1.x]Раскрывающийся текст


Arhar

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

Я так понимаю, в js заменяется именно вот в этом коде

this.ipb_spoiler=function(){this.wrap_tags_lite('[spoiler]','[/spoiler]',0)};

?

 

А где ещё?

 

Меняется ли в строках типа

<td><div class="rte-normal" id="{$editor_id}_cmd_ipb_spoiler"><img src="{$images_path}spoiler.png"  alt="Spoiler" title="Spoiler"></div></td>

 

слово "Spoiler"?

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

  • Ответы 296
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

Проще - открывается оба файла блокнотом, тыкаете там заменить на,(spoiler - expand, к примеру) и двумя нажатиями все заменяется) И никакой тогда путаницы.
Ссылка на комментарий
Поделиться на других сайтах

Хм, так что-то является именем файла, что-то переменной функции. Надо же менять именно то место, где идёт назначение bb-кода.

 

Кстати, в итоге дополнительных изменений от Nomada получилось нормальное внедрение в редактор bb-кода spoiler. Меня это устраивает :D.

 

В связи с этим вопрос. Если повторить эти изменения для BB-кода expand, то можно ли его также внедрить, вместе с spoiler?

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

Способ добавления кнопок в редакторы универсальный, спасибо за faq по этому вопросу andaril'y. А насчет имени файла, так не проще все переименовать в том числе и сам js?)
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
Arhar, правильно ли я понимаю, что при использовании этого мода, любая страница моего форума потяжелеет минимум на 80 Кб (вес javascript)? При этом не имеет значения используется ли спойлер на странице или нет. Изменено пользователем Gev
Ссылка на комментарий
Поделиться на других сайтах

Да.

Но не стоит забывать, что это не так много по сравнению со всем остальным JS в IPB, икроме того он будет загружаться клиентом только один раз.

expand.js можно почистить от лишнего, и обязательно сжать, например с помощью http://dean.edwards.name/packer/

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

Т.е. браузеры при повторном запросе к нему будут обращаться в свой кэш?

Насчет сжатия - понятно. А вот "почистить от лишнего" у меня не получится. Не могли бы Вы выложить сюда свой вариант скрипта уже без лишнего?

Либо мне в личку сбросить.

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

Т.е. браузеры при повторном запросе к нему будут обращаться в свой кэш?

Насчет сжатия - понятно. А вот "почистить от лишнего" у меня не получится. Не могли бы Вы выложить сюда свой вариант скрипта уже без лишнего?

Либо мне в личку сбросить.

Конечно, всё файлы кроме HTML самой страницы кешируются браузом, будь то картинки, *.css или *.js файлы, если не сказано обратного в настройках браузера.

У меня отдельного варианта нет, нужно ставить и проверять :D

 

Количественная оценка: эта страница(HTML) весит 110Кб(Explorer)/21Kb(Firebug), что соизмеримо с размером скрипта. Он будет загружаться один раз, а какждая страница загружается целиком. Плюс спойлер есть не на каждой странице, а значит скрипт загрузится сразу, а не когда пользователь наткнётся на спойлер; и его не открывают сразу же, так что если что -- пользователь сможет подождать. Имхо для большинства форумов это не критично и задумываться об этом стоит только если проводить полную оптимизацию скорости загрузки.

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

установил, вроде нормально все было, но при попытке цитировать/изменить сообщение видим следующее:

 

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Щелкните чтобы открыть/закрыть скрытый текст</div></div><div

 

class="sp-body"><div class="sp-content">лллл<div class="clear"></div></div></div></div>

 

 

:D

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

пункт 2, вторая половина

действительно шото напутал там, но после исправления и нескольких проверок исправления проблема не решилась и осталась такой какой и была... :D

прикрепляю эти файлы, неужели я так нереально туплю ;)

class_bbcode.php

class_bbcode_legacy.php

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

вроде бы даже правильно

а два переноса строки они нарочно сделаны в сообщении на прошлой странице, или скопированы из редактора?

используется RichText?

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

вроде бы даже правильно

а два переноса строки они нарочно сделаны в сообщении на прошлой странице, или скопированы из редактора?

используется RichText?

вот попытка цитировать вообщение:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Щелкните чтобы открыть/закрыть скрытый текст</div></div><div

 

class="sp-body"><div class="sp-content">ооооо<div class="clear"></div></div></div></div>

 

 

 

что такое рич текст?

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

думайте над моими вопросами

откуда берутся два переноса строки

и

используется визуальный редактор или обычный

переделал заново п. 1 и 2 и заработало...

возможно проблема была в том что я поменял текст "Раскрывающийся текст"?

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

1. Админцентр - Внешний вид - Редактировать HTML фрагменты - skin_blog_global - blog_header

Спойлер прекрасно работает, но вот с ним не работают скрипты самого блога (1.4.2). Точнее отваливается функция перемещения модулей блога мышкой. При загрузке страницы пишет:

 

Ошибка: element.dispatchEvent is not a function

Источник: http://forum.mymetro.ru/jscripts/prototype.js

Строка: 3972

 

В этой строке:

 

		element.dispatchEvent(event);

 

Кусок кода из prototype.js:

 

	fire: function(element, eventName, memo) {
  element = $(element);
  if (element == document && document.createEvent && !element.dispatchEvent)
	element = document.documentElement;

  var event;
  if (document.createEvent) {
	event = document.createEvent("HTMLEvents");
	event.initEvent("dataavailable", true, true);
  } else {
	event = document.createEventObject();
	event.eventType = "ondataavailable";
  }

  event.eventName = eventName;
  event.memo = memo || { };

  if (document.createEvent) {
	element.dispatchEvent(event);
  } else {
	element.fireEvent(event.eventType, event);
  }

  return Event.extend(event);
}
 };
})());

 

Пробовал загружать новую библиотеку jQuery взамен используемой — не помогло. Если убрать initSpoilers('body'); — проблема сохраняется…

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

А без установки спойлера все пашет?

Да, конечно. Не пашет только, если подключается spoiler.js. Даже в другом скине, где spoiler.js не подключён, перемещение модулей работает. Спойлер, естественно, нет.

 

Прошу прощения, не все ошибки отловил. При подключённом spoiler.js и обращении к главной странице собственного блога появляется также серия ошибок:

 

Ошибка: o.root.style is undefined

Источник: http://forum.mymetro.ru/jscripts/dom-drag.js

Строка: 1

 

У меня их 12 — по числу доступных для перемещения модулей.

 

Плюс, в конце и

 

Ошибка: element.dispatchEvent is not a function

Источник: http://forum.mymetro.ru/jscripts/prototype.js

Строка: 3972

 

Подозреваю, что тут конфликтуют библиотека jQuery и библиотеки Invision.

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

Нашёл решение проблемы.

 

Чтобы две библиотеки (jQuery и Prototype) уживались вместе, нужно включить режим jQuery.noConflict( ) — для IP.Blog этого оказалось достаточно.

 

В файле spoiler.js

Найти:

function initSpoilers(context)

Добавить выше:

jQuery.noConflict( );

Найти:

jQuery('div.sp-head-wrap', $(context)).click(function(){

Заменить на:

jQuery('div.sp-head-wrap', jQuery(context)).click(function(){

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

Надо будет использовать в спойлере Prototype, это будет лучше для 3.0...
Ссылка на комментарий
Поделиться на других сайтах

Привет всем.

У меня на IPB 2.3.6 вот что получилось;

В форме быстрого ответа всё отлично работает, тест отлично скрывается и плавно разворачивается. Тут ккрасата!!!

А вот если сообщение править в нормальном редакторе, неважно стандартный он или Rich Text - то скрипт не срабатывает от нажатий на кнопку. Т.е. вообще ничего...никаких действий не происходит. Всё устанавливал по инструкции. Куда податься? В какую сторону рыть?

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

Привет всем.

У меня на IPB 2.3.6 вот что получилось;

В форме быстрого ответа всё отлично работает, тест отлично скрывается и плавно разворачивается. Тут ккрасата!!!

А вот если сообщение править в нормальном редакторе, неважно стандартный он или Rich Text - то скрипт не срабатывает от нажатий на кнопку. Т.е. вообще ничего...никаких действий не происходит. Всё устанавливал по инструкции. Куда податься? В какую сторону рыть?

 

 

Перекешировал всё и вся... всё запустилось и начало работать... Такшта на 2.3.6 встаёт и великолепно работает. Респект автору

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


×
×
  • Создать...

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

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