Как стать автором
Обновить

Комментарии 14

> Для браузеров, не поддерживающих функцию indexOf, определим метод прямого поиска — findText (в нем реализуем прямой проход по массивам)

Таких давно нет. Есть которые неподдерживают indexOf для массивов, но это другое.
Ещё добавлю, что метод «substr» устарел и в спецификации помечен как deprecated — es5.github.io/#B.2
Так, что лучше всё таки slice.
А где он там помечен, как deprecated?
> Some implementations of ECMAScript have included additional properties for some of the standard native objects. This non-normative annex suggests uniform semantics for such properties without making the properties or their semantics part of this standard.

Что то типо пересказа: В некоторых движках по тем или иным причинам присутствуют устаревшии свойства, которые не входят в специкацию. Если разработчики современных реализаций хотят, они могут реализовать эти свойства/методы для обратной совместимости. Для это общие алгоритмы реализации.

В общем это однозначно можно читать как deprecated. Если хотите, можно назвать эти свойства — нестандартные, что будет более правильно. Однако, по моему личному мнение, deprecated сюда подходит гораздо больше.
Если что-то поддерживается всеми распространёнными реализациями, то это стандарт де-факто, который с большой вероятностью будет поддерживаться всегда.

Что касается метода substr(), то он может быть удобен, когда известна не позиция окончания диапазона, а его длина).
substr поддерживается только по тому, что он поддерживался раньше, так делаются многие вещи в вебе, совместимость очень важна. В живом HTML стандарте даже сказано, что в некоторых случаях не реализации подстраиваются под спецификацию, а на оборот. Однако, если следить за тем, что происходит со стандартом, можно заметить, что устаревшие вещи выкидываются и перестают быть частью спецификации и со временем, удаляются из реализаций браузеров.

Стандарты де-факто это круто конечно, всякие __proto__, которые вроде как и здорово иметь, но опять же, они бажат и ведут себя в каждом браузере по разному, ибо нет стандарта, каждый делает как хочет/как знает.

Ваш последний аргумент решается так: str.slice(start, start + count), не так уж и сложно. Чем меньше людей пишут с устаревшими методами, тем быстрее эти методы испаряться.
Испарятся :( Не успел…
Событие «input» в нормальных браузерах появилось ой как давно. Попробуйте мышкой вставить текст и посмотрите результат. А сие событие как раз решило бы эту проблему.
И «propertychange» для IE, который либо не понимает либо хреново понимает «input».
Всё бы хорошо, но
элемент textarea не поддерживает html\bb теги
причем тут bb-тэги? они же вроде браузерами ни в каком виде никогда нигде не поддерживались. Или я чего-то не знаю?
Да, наверное, я поторопился так писать. И тут необходимо было бы описать, что работу c bb-тегами поддерживается многими «текстовыми» редакторами использующими фреймы\div.

Также, я думаю, все знают, что, сделав тот же contenteditable, мы получаем возможность использовать хоткеи -> следствие использование тегов b, i…

Я допустил ошибку, описав это как bb. Вы правы. Было бы верно описать, что тот же textarea не поддерживает те же хоткеи (такие как ctrl+b)
> И тут необходимо было бы описать, что работу c bb-тегами поддерживается многими «текстовыми» редакторами использующими фреймы\div

По моему опять торопитесь. BB-тэги можно напрямую организовать в textarea, c горячими клавишами и без. Всё в действии можно посмотреть, например, в форумном движке — phpBB.
Я ищу поиск отображения «не отходя от кассы». Так то вставить HTML-теги в textarea нам тоже никто не мешает. Но они останутся текстом.
Да, здесь спорить не буду.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории