Можно ли с нуля создать текстовый редактор в Javascript?
Мне известно, что редакторы Javascript WYSIWYG для работы используют режим встроенного редактора браузера, но это сталкивается с различными проблемами и проблемами.
Можно ли с нуля построить редактор в JS, что-то вроде того, что люди Buzzword сделали с flash/flex? Я недавно наткнулся на этот пост в блоге, и мне просто интересно, можно ли его построить (хотя бы в умеренной степени) с использованием Javascript?
5 ответов
Это зависит от того, что вы подразумеваете под "с нуля". Google Docs предоставляет довольно хороший текстовый редактор в JS. Это то, что вы имели ввиду?
Почти все можно сделать с помощью JavaScript. У вас есть базовые инструменты для сборки - вы можете перехватывать все события мыши и почти все события клавиатуры. Вы можете использовать GIF-анимацию для моделирования каретки. Сложнее всего измерить размер текста, чтобы вы могли расположить каретку там, где вам нужно. Я не совсем уверен, как ты мог это сделать. Но если вы поймете это, остальное выполнимо. Хотя это действительно потребует тонны кода, изобретающего колесо.
Конечно, вы можете сделать это, и это не очень сложно. Но прежде чем изобретать велосипед, ознакомьтесь со всеми существующими. Многие из них действительно очень хорошо написаны и имеют открытый исходный код.
Напоминает мне о небольшом эксперименте, который я провел некоторое время назад... Я в основном пытался создать примитивный редактор, просто слушая нажатия клавиш в DIV и вставляя их в DIV как новый узел. Так что представьте, каждый персонаж будет завернут в тег! Это действительно сработало. Но, как только он достигает пары абзацев, вставка и удаление узла становится довольно медленным. Вы будете вводить символ, и он появится только после небольшой задержки, а это просто неприемлемо, и в итоге я просто сдался. Во всяком случае, это была просто случайная вещь, которую я хотел попробовать..
Возвращаясь к вашему вопросу, мне интересно, можно ли это повторить только в JS, так как, откровенно говоря, флэш-память обладает более высокой вычислительной мощностью по сравнению с JS. Даже если это технически возможно, я сомневаюсь, будет ли это достаточно быстро, чтобы действительно работать хорошо. Мои два цента!
Любое приложение, которое может быть написано на JavaScript, в конечном итоге будет написано на JavaScript.