![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
У меня серьёзная трабла. Приходится иногда верстать сайты, одновременно занимаюсь серверным и клиентским программированием. Сайты пишутся на нескольких языках. С программированием всё отлично, но вот с орфографией... 50 раз проверю приложение, но при презентации хоть одну ошибку, но кто нить найдёт. Я понимаю, что просто больше на программинге концентрируюсь, чем на орфографии.
Вот бы плагин, который по принципу TMLTidy проверял страницу на орф. ошибки. Сидел бы себе кнопочкой внизу. Плагин, который я пока нашёл (у меня в подписи сидит) ищет ошибки в textarea при набивке текста. А мне надо бы на всей странице.. Думаю написать его на базе spellbound. Думаю надо разбить документ не слова, потом сверять и подсвечивать те, которых нет в словаре. Вот как на слова разбить? Итерировать весь документ можно? Как лучше это сделать? |
|||
|
||||
| Ciber_SLasH |
|
|||
|
Unregistered |
Особо не читал, но может ты имеешь ввиду что-то вроде этого?: http://dklab.ru/chicken/nablas/24.html
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Нет, система Orphus живёт от количества читателей и их репортов. Мне же нужен именно автомат чтобы проверять страницы ДО публикации
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Документ это DOM дерево, можно дёрнуть все текстовые ноды и разбить по словам. Нельзя сразу брать document.body.(innerText|textContent), так как лажу выдаст для таблиц и других "сложных элементов". Поэтому начиная с document.documentElement пробегаешся по всем элементам, если внутри не находяться таблицы, формы и т.д. то снимаем innerText|textContent, иначе идём глубже и обходим проблемные элементы.
Нашли проблемное слово, юзая методы DOM TextNode вырезаем его деля текстовую ноду на половины, между ними ставим свой элемент <span> с проблемным словом и необходимыми стилями. Только что созданный обьект-span ложим в какой нибудь список, что бы при втором проходе "помнить" что это. А вообще овчинка выделки не стоит ИМXО, довольно не удобно писать не имея "настоящих" массивов, в результате всё будет подтормаживать. Xотя можно дёргать текст, собирать запрос к серверу, там проверять ispell, результаты юзать. Качество будет лучше, JS проще, скорость высокая. Жаль ispell в браузер не встраиваетсья, а то можно было и на клиенте заюзать -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Sardar, spellbound из моей пописи посмотри Вот у меня вопрос, как обйти
|
||||
|
|||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Можно рекурсивно бежать по DOM дереву. Если элемент, то пробегаемся рекурсивно по его node.childNodes. Если нода текстовая (node.nodeType==3||node.nodeType==4, т.е. текст или CDATA, хотя последних в HTML нет), то снимать её node.nodeValue, резат текст на слова, заменять ошибочные на <span> элементы для подсветки. При этом текстовая нода поделиться на две части, между ними новый элемент. Главное пометить как нибудь новосозданный span, что бы не проходить и не "подкрашивать" слово по новой. К тому же после деления текстовой ноды и вставки span'а он появиться следующим при проходе. Собстна в коде это может выглядеть так:
P.S. пасиб за плагин к Мозилле, давно искал что то подобное. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |