Проблема вставки ссылок при копировании из MSWORD
Доброго времени суток всем!
Бьюсь уже 3-и сутки. Суть проблемы в следующем: Нужен нормальный WYSIWIG редактор на jQuery. Перебрал десяток редакторов, но во всех одна и та-же проблема. Есть документ MSWORD с оглавлением (ссылки на якоря и якоря в тексте (anchor)). Когда я копирую из него текст и вставляю его в редактор то в коде вместо простой сслыки на якорь появляется полная ссылка странички на которой находиться редактор и ссылка на якорь. Получается вот так: <p> <a href="http://мой домен/admin/admin.php?path=2&add=1#_Toc324669847"><span style="font-family:Times New Roman;font-size:16px;">Статья 6<span style="color:windowtext;">. </span><span style="color:windowtext;">6</span></span></a> </p> А должно быть вот так: <p> <a href="#_Toc324669847"><span style="font-family:Times New Roman;font-size:16px;">Статья 6<span style="color:windowtext;">. </span><span style="color:windowtext;">6</span></span></a> </p> Не знаю ошибка это или нет. Но у всех редакторов на jQuery такая проблема. Исключением из всех является SPAW Editor. (но он написан на PHP). Пробовал разные версии jQuery от 1.3.3 до 1.7.2 Пробовал сам в jQuery поискать это место, но в Java я очень слабо разбираюсь, поэтому прошу помощи у Вас! |
Это не зависит от версии JQuery.
Может просто вы не разбирали настройки редакторов. Обычно в настройках предлагается указать какие URL адреса будут, относительные или абсолютные. Такая настройка по сути должна решить вашу проблему. |
Да, тут действительно не в версии дело. Т.к. у разных версий jQuery блок обработки ссылок полностью совпадают.
По поводу настройки редакторов уже пробовал: Например в elRte есть функция: absoluteURLs : false Но она работает только на те ссылки которые обрабатывает сам редактор. Т.е. на те которые вставляются в текст нажатем иконки со ссылкой. А те ссылки которые вставляются из MSWord-a походу обрабатываются напрямую через jQuery. Проверял на китайском xheditor-1.1.13. Вставлял доплнительные id в строки вставки кода (при нажатии кнопки) на сайт. Результат: Когда нажимаешь иконку ссылки на сайте, то дополнительный id-шник появляется. Когда копируешь ссылку с MSWord, да и просто если копируешь ссылку, Id-шник не появляется. Отсюда у меня вытекает вывод, что при копировании ссылки она обрабатывается через jQuery, а редактор просто выводит результат. Вот результаты проверки: <p> <a id="1" href="http://ya.ru">ya.ru</a> </p> <p> <a href="http://ya.ru/">http://ya.ru/</a> </p> <p> <a href="http://ya.ru/"><span style="font-family:Calibri;font-size:16px;color:#800080;">http://ya.ru/</span></a> </p> <p> </p> 1) это ссылка сделана редактором 2) это ссылка скопированна из строки броузера 3) это ссылка скопированна из MSWord Я подозреваю, что где-то в jQuery можно отключить функцию вывода абсолютных ссылок при копировании якорей (anchor). Или я что-то неправильно понял? |
Опять же говорю не в JQuery дело, а в плагине.
Не один из ваших плагинов не использовал, поэтому по ним ничего сказать не могу. Можете попробовать TinyMCE (есть плагин и для JQuery), может с ним у вас получится. Я его использовал всегда. Клиенты пока не жаловались (а они часто из word'a копируют) |
TinyMCE пробывал в первую очередь. Он к сожалению вообще не ловит якоря и ссылки на них. Может быть действительно в редакторе нужно поковыряться... И потом TinyMCE оставляет кучу лишнего кода и из-за этого очень сильно увеличивает текст. А у меня вообще тексты должны быть огромные, типа Конституции РФ.
Больше всего мне понравился CKEditor, но он тоже ставит полные ссылки, а якоря вообще не ловит и не проставляет. В том-то и дело, что копируют из ворда все нормально. Но якоря не все ловят. Для сравнения у текста с количеством символов в 4951 СКEditor увеличивает до 6694 TinyMCE увеличивает до 12826 Я так понимаю, что jQuery выдает одинаковые данные для всех редакторов, а редактор уже интерпретирует эти данные и выводит их в форму редактирования своими средствами? |
http://redactorjs.com/
не знаю поможет или нет, но он очень красивый) можно еще кучу текста разделить слайдерами, которые при открытии будут записываться в хеш-тэг. при открытии страницы по такой ссылке, нужный слайдер будет находиться и разворачиваться. я так решал подобную задачу. у меня уровень вложенных слайдеров доходил до 7-8 (информационная система службы техподдержки). причем еще эмулировались нажатия кнопок назад-вперед. самый лучший редактор для работы с вордом, у системы confluence, но она платная |
Этот редактор я тоже пробовал. Эффект аналогичный вышеописанному.
Делает полную ссылку на якорь. |
|
C elRte такая-же беда.
Может кто знает, как в том-же elRte эту проблему убрать? |
Есть подозрение, что за правильное понимание данных из буфера и их форматирование отвечает браузер.
+Вопрос: а вы уверены на 100%, что подставляется адрес текущей страницы, т.е. вы пробовали таки постить результирующий текст? Дело в том что отображается всегда полная ссылка(которая зависит естесно от текущей), даже если она задана в кратком виде. Как костыль можно просто добавить в конец скрипта пару строк кода удаляющих упоминание адреса текущей страницы из результата.) |
Часовой пояс GMT +3, время: 11:24. |