Question

Nous devons ajouter un éditeur HTML de base à notre produit. Comme nous ne prenons actuellement en charge que IE (la plupart des clients utilisent encore IE 6), on m'a dit d'utiliser les fonctionnalités d'édition XHTML intégrées à Internet Explorer & # 8211; par exemple. <div contentEditable="true"> comme expliqué à " Modification d'une page Web " .

Sauf , il ne fonctionne pas dans les autres navigateurs. (La direction ne considère pas que ce soit un problème. Nos clients n'accepteront notre logiciel qu'en travaillant avec IE. Nous n'avons jamais perdu d'argent grâce à notre logiciel uniquement en IE. La plupart des clients laisseront leur personnel utiliser IE6 à présent de toute façon. )

Quel autre problème allons-nous probablement rencontrer avec contentEditable?

Mettre à jour

L'éditeur HTML que j'ai écrit avec & # 8220; contentEditable & # 8221; très difficile à obtenir, avec de nombreux problèmes . Si je devais le refaire, je pousserais très fort vers l’une des nombreuses solutions open source (par exemple, TinyMCE) ou achèterais dans un éditeur HTML pris en charge.

Nul doute qu'un programmeur très expérimenté en jscript peut obtenir & # 8220; contentEditable & # 8221; bien travailler avec suffisamment de temps. Tous les exemples sur le Web ont l'air si simples, jusqu'à ce que vous testiez des opérations courantes telles que couper / coller à partir d'un mot et essayer de modifier le code HTML résultant. (juste le genre de choses qu'un client va faire)

(Il suffit de rechercher & # 8220; contentEditable & # 8221; sur stackoverflow pour obtenir un idéal des problèmes rencontrés par d'autres personnes

Était-ce utile?

La solution

La propriété contentEditable fonctionne dans Safari, Firefox 3 et Opera 9.

Etant donné que la manipulation se fera sans doute par sélections, votre plus gros problème sera de faire fonctionner la sélection / les gammes sur plusieurs navigateurs ( voir ici) .

Il existe également de nombreux petites erreurs dans les navigateurs, qu'elles soient ou non vous mordre. Celles-ci incluent des méthodes incompatibles de casse, incompatibles pour le désactiver (removeAttribute vs. setting à false).

Malgré ces défauts, je trouve que cela fonctionne plutôt bien.

Autres conseils

Pourquoi ne pas utiliser une solution open source qui fonctionne dans tous les principaux navigateurs?

TinyMCE

Il existe également d'autres projets, mais c'est ce que j'utiliserais.

HTML 5 inclut l'attribut contenteditable, il semble donc qu'il le sera dans IE pour une longue période à venir.

Je viens de recevoir un email de quelqu'un de l'équipe IE

  

Bien qu'il soit fondamentalement impossible de   commenter l'avenir avec une haute   degré de confiance, il est juste de dire   que je ne suis au courant d'aucun projet de   supprimer le contenuEditable, et si c'était   enlevé, il casserait beaucoup de   sites.

Une recherche rapide sur Google a généré un article de blog sur certaines questions (même mineures). de contentEditable.

contentEditable fonctionne sous Firefox 3. Je ne connais aucun problème avec contentEditable.

Je voudrais simplement vérifier quel contenu vous recevez car l'insertion d'attaques XSS est assez facile dans IE si aucune validation du contenu HTML n'est ajoutée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top