Как да персонализирам hallo.js да използва ‹strong› вместо ‹b›?

Въпросът до голяма степен казва всичко. Използвам hallo.js и изглежда, че използва <b> и <i> за получер и курсив. Някои от моите маркировки в момента изискват strong и em, за да се прилагат определени CSS правила. Също така предпочитам strong и em като цяло пред b и i, така че бих искал да конфигурирам това.

Изглежда няма никаква документация за това директно - може ли да се направи?


person prodigitalson    schedule 28.01.2013    source източник


Отговори (2)


Това не може да бъде направено, тъй като маркирането не е до hallo.js или друг форматиран текстов редактор. Те просто задействат вмъкване на маркиране, но вмъкването се извършва от браузъра. Ще получите малко по-различни резултати от различните браузъри. Заобиколно решение е възможно само чрез промяна на маркирането в края.

Редактиране за насочване към документи по въпрос за коментар: Проблемът е, че това е поведение на браузърите, тъй като IE изобрети режима на проектиране, без да е стандарт. Whatwg го е написал в стандарта за HTML5. За да получите повече информация по самата тема, прочетете
http://www.quirksmode.org/dom/execCommand.html
http://dev.opera.com/articles/view/rich-html-editing-in-the-browser-part-1/
http://www.thismuchiknow.co.uk/?p=64
http://www.whatwg.org/specs/web-apps/2007-10-26/multipage/section-contenteditable.html
http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html
http://www.w3.org/wiki/Web_Editing_APIs
http://annevankesteren.nl/2005/07/contentediтаблица
http://www.sitepoint.com/the-tragic-comedy-that-is-rich-text-editing-on-the-web/

person Andreas    schedule 03.04.2013
comment
Можете ли да ме насочите към някои документи, които изясняват това? Не разбрах, че действителното маркиране е вътрешна операция на браузъра, мислех, че е само възможността за редактиране. - person prodigitalson; 04.04.2013
comment
Може да се направи, ако сами манипулирате DOM, вместо да разчитате на document.execCommand(). CKEditor прави това например. - person Tim Down; 08.04.2013
comment
@Tim Down: Не, не може да бъде направено, защото въпросът не беше за програмиране на собствен редактор с форматиран текст, а с помощта на hallo.js и това използва execCommand. Вие сте прав, че споменаването на друг форматиран текстов редактор не е правилно за тези, които манипулират директно DOM. - person Andreas; 09.04.2013

В случай, че може да помогне на някого:

Исках да постигна същото и завърших с предварителна обработка на съдържанието, преди да го запазя. Пример за замяна на тагове за в Python:

content.replace('<b>', '<strong>').replace.('</b>', '</strong>')    

Можете да използвате същата техника за всички други тагове или поднизове, които може да искате да замените.

person Jordi    schedule 14.10.2014