본문으로

Расширение для браузера

글쓴이: veselcraft, 2018년 12월 1일

글: 4

언어: Русский

veselcraft (프로필 보기) 2018년 12월 1일 오후 2:03:46

Добрый день. Ищу расширение для браузера, позволяющее писать буквы с диакритическими знаками с помощью X-системы. На этом сайте уже есть JS скрипт позволяющий такое проделывать, но вытащить его пока не сумел.

Серёга (프로필 보기) 2018년 12월 5일 오후 10:04:23

Я например до сих пор не знаю где брать буквы с крышечками. В основном копирую в буфер каждую букву и вставляю на место. Держу под рукой Ĉ ĉ ŭ ĝ Ĵ ĵ ŝ. Но как вариант можно печатать здесь в какой-нибудь ветке или вставить текст с cx, jx, ux, gx , а потом искать в тексте данные диграфы и стирать x и тут же печатать его снова.

sergejm (프로필 보기) 2018년 12월 6일 오후 8:52:56

Можно еще использовать Андроид - там есть эсперанто-клавиатура.

А написать скрипт особого труда не представляет.
Нужно подписаться на событие change, в нем сравнивать старый и новый текст в поле ввода, учитывая положение курсора (старое и новое). События keydown и keyup в новых версиях Андроида не работают, так что если хотите чтобы работало в Андроиде, их лучше не использовать.
Еще стоит использовать таймер - быстрое нажатие cx преобразуется в ĉ, а если была пауза - нет.
Остается проблема что делать при paste - заменять во вставляемом тексте cx на ĉ или нет.

sergejm (프로필 보기) 2018년 12월 7일 오후 4:34:30

Если нужно заменить все cx на ĉ и т.д.:
text = text.replace('cx','ĉ').replace('CX','Ĉ').replace('gx','ĝ').replace('GX','Ĝ').replace('hx','ĥ').replace('HX','Ĥ')
.replace('jx','ĵ').replace('JX','Ĵ').replace('sx','ŝ').replace('SX','Ŝ').replace('ux','ŭ').replace('UX','Ŭ');

다시 위로