"Настоящая" кнопка разрыва страницы
Added by Nickolai Petrov about 1 year ago
Такой вопрос я изучил пример по созданию кнопки разрыва страницы ( http://elrte.org/redmine/boards/3/topics/356 )
но этот пример работает не так как нужно поясню:
предположим имеется такой код со вставкой разрыва страницы
<div style="text-align:left;font-family:arial">
<strong>111<!-- pagebreak -->222</strong>
</div>
мне нужно чтобы <!-- pagebreak --> разбивал страницу на n законченных блоков что-бы разбив страницу по нему я получал n блоков которые мог бы использовать в своей в постраничной навигации т.е. вывести на 1 страницу только блок №1 на 2 страницу блок №2 и.т.д. Пример ниже:
<div style="text-align:left;font-family:arial">
<strong>111</strong>
</div>
<!-- pagebreak -->
<div style="text-align:left;font-family:arial">
<strong>222</strong>
</div>
Replies (8)
RE: "Настоящая" кнопка разрыва страницы
-
Added by Dmitry Levashov about 1 year ago
То есть вы хотите, чтобы разрыв закрывал открытые ноды и открывал их заново после себя?
RE: "Настоящая" кнопка разрыва страницы
-
Added by Nickolai Petrov about 1 year ago
Да именно так, чтобы я мог взять только блок n и все теги в получившемся блоке были закрыты
RE: "Настоящая" кнопка разрыва страницы
-
Added by Dmitry Levashov about 1 year ago
Проблематично, по крайней мере в текущей версии. В девелоперской это можно реализовать, хотя и не просто, но до ее выхода еще далеко
RE: "Настоящая" кнопка разрыва страницы
-
Added by Nickolai Petrov about 1 year ago
В принципе я частично решил проблему, я нажимаю ENTER перед вставкой "РАЗРЫВА" , вставляю разрыв и после него еще раз ENTER и получается код как ниже примерно т.е. "РАЗРЫВ" получается в отдельном параграфе (а я получаю n блоков как и хотел в примере ниже), затем я использую PHP-скрипт для автозакрытия незакрытых тегов оставшихся в после разрезания "РАЗРЫВА" . Причем когда я нажимаю ENTER создается новый параграф со стилями как у предыдущего параграфа. Т.е. в принципе как мне и надо.
Вопрос как модифицировать код кнопки разрыва что-бы она имитировала мой метод т.е. я нажимаю "РАЗРЫВ" нажимается ENTER вставляется "РАЗРЫВ" и затем ещё раз нажимается эмулируется ENTER (т.е. при щелчке по кнопке должен создаваться параграф, затем вставляться "РАЗРЫВ" и затем снова создаваться параграф, или можно по 2 параграфа до и после) ?
<div style="text-align:left;font-family:arial">
<strong>111</strong>
</div>
<div style="text-align:left;font-family:arial">
<strong><!-- pagebreak --><br></strong>
</div>
<div style="text-align:left;font-family:arial">
<strong>222</strong>
</div>
RE: "Настоящая" кнопка разрыва страницы
-
Added by Dmitry Levashov about 1 year ago
Нажать энтер программно не получиться. Вы можете, конечно, попробовать вызвать mousedown с соответсвующим объектом event на документе редактора, но я уверен что браузер проигнорирует это. Остается единственный вариант - вручную находить все теги и закрывать их - а это нетривиальная задача. Если не боитесь - исходники вам в помощь. Но я бы не советовал тратить время на текущую версию. Лучше помогите с девелоперской версией, если есть желание и опыт
RE: "Настоящая" кнопка разрыва страницы
-
Added by Nickolai Petrov about 1 year ago
Я не имею большого опыта по JS иногда пишу какие то простые скрипты для своих задач, так что помочь вряд ли смогу, только может идеями. Я смог немного заточить ваш редактор под себя хотя и не полностью. Но в любом случае мне ваш продукт нравиться и в своем проекте я решил его использовать. А в чем отличие девелоперской версии и где конкретно она лежит? Что там подробно прокомментирована каждая строка или обширный подробный api?
RE: "Настоящая" кнопка разрыва страницы
-
Added by Dmitry Levashov about 1 year ago
Девелоперская версия тут https://github.com/Studio-42/elRTE/tree/master
То, что в ней есть работает стабильно, хотя и нуждается в тестировании. Отличие - во всем. Новый движок для работы с ДОМ, для работы в selection, ui и наличие API. Уровень необходимый для работы значительно выше, чем простое написание скриптов - требует, как минимум понимания нативной объектной модели js (прототипическое наследование) и минимального опыта работы с textRange в разных браузерах. Важное предупреждение! Если вы "въедете" в это, вы больше никогда не сможете писать на пхп с удовольствием:)
RE: "Настоящая" кнопка разрыва страницы
-
Added by Dmitry Levashov about 1 year ago
Но, по хорошему опыт, не играет никакой роли. Важно лишь желание изучать новое. Без него этого проекта вообще никогда бы не было. (Для меня, это был первый серьезный проект на js) Если хотите попробовать, нам не жалко потратить время на помощь и даже на ваше обучение. Когда-то давно мой "старший товарищ", которого я безумного задалбывал вопросами новичка, сказал, что помощь - это "священная корова" IT. Вот как-то так....
(1-8/8)