2010-11-20 4 views
2

En utilisant contentEditable et ExecCommand, on peut modifier/formater le contenu de certaines parties de la page comme ce qui est utilisé dans tous les web-éditeur WYSIWYG. Cependant, il existe de nombreuses incohérences de navigateurs avec la mise en œuvre de cette fonctionnalité, qui ont conduit ces éditeurs web à les manipuler manuellement.Cross-navigateur insertion forte/em en utilisant la fonction execCommand

Dans mon cas, IE utilise forte et em éléments pour les Gras et Italique commandes, ce qui est exactement ce que je veux comme je suis après la sémantique forte et em, et pas ceux de style visuel b, i, et/ou de style span. Toutefois, d'autres navigateurs utilisent ces éléments de style visuel et ne permettent pas de définir des éléments forts ou em.

est-il un moyen de rendre possible l'utilisation forte et em dans tous les navigateurs? Cela ne me dérange pas d'ajouter de nouvelles commandes pour gérer une telle chose tant qu'elle obtient des résultats approximatifs à ceux d'IE. Aussi, ce serait sympa de pouvoir les appliquer à l'intersection d'éléments en ligne/bloc sans casser les navigateurs (ou au moins les casser d'une manière égale). Oui, je peux utiliser certains des autres éditeurs, mais je suis intéressé par cette fonctionnalité uniquement. J'apprécierais toute aide.

Merci

+0

Je travaille sur une solution pour cela et posterai ici quand il est prêt. –

+0

Cool Tim. J'ai hâte de voir comment vous y arriverez. Merci mec. – cria

+0

Mon travail à ce sujet s'est arrêté il y a un moment. J'ai laissé filer la portée et tout s'est échappé de moi. J'y reviendrai un jour. –

Répondre

0

Peut-être que je suis malentendu, mais vous pouvez définir em et fort à tout ce que vous voulez en utilisant le CSS.

strong{ font-weight:bold } 
+0

Oui, vous vous méprenez: la question est liée à 'document.execCommand()', qui est une méthode généralement utilisée dans les éditeurs WYSIWYG pour modifier certains aspects du contenu sélectionné par l'utilisateur, tels que l'audace. –

+0

En posant une question descriptive, j'espérais que je la clarifierais aux autres. Malheureusement, j'ai échoué :) – cria

1

Je sais exactement ce que vous voulez dire parce que je viens de rencontrer le même problème. En effectuant une recherche est vraiment difficile ici quelque chose que je pense aide (un lien dans StackOverflow):

Using contentEditable in Firefox: 'bold' renders correctly, but html code is incorrect

Pour voir ici, il est dit, en ajoutant la ligne suivante avant execCommand (« gras »):

document.execCommand('StyleWithCSS', false, false); 

J'ai essayé et il l'a corrigé, en insérant un dans Firefox 13.0.1 (avant cela, FF inséré "font-weight: bold"). Je suis très excité maintenant.

Questions connexes