Question

J'ai un document XML que je suis dans l'affichage d'un navigateur Web, avec une feuille de style attaché:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/css" href="abc.css"?>
<myxml xmlns:xhtml="http://www.w3.org/1999/xhtml">
    <para>I wish i was editable</para>
    <xhtml:script type="text/javascript" src="abc.js"/>
</myxml>

Avec la déclaration d'espace de noms xhtml et xhtml:. Balise script, je peux exécuter javascript

Ce que je voudrais faire est de faire des éléments arbitraires non-XHTML dans ce contenu de documents modifiables. (En fait, ils seront dans un autre espace de noms)

Même si j'ajoute explicitement @ contentEditable = "true" (ie sans recourir à Javascript), le contenu n'est pas réellement modifiable (dans Firefox 3.0.4).

Est-il possible de le modifier dans l'un des navigateurs actuels? (J'ai eu aucun problème avec <div contentEditable="true"> Modifier me</div> dans un document XHTML 1.0 Transitional)

Je ne peux même pas modifier un xhtml: div dans ce document (dans Firefox); si je pouvais le faire, cela peut offrir une voie à suivre.

Était-ce utile?

La solution

Dans Firefox 3, @ contenu modifiable = « true » ne fait que l'élément pertinent modifiable si la le type de contenu est text / html (qui se trouve également si un nom de fichier local se termine par .html)

Il ne fonctionne pas pour les types de contenu application / xhtml + xml ou text / xml (noms de fichiers locaux ou se terminant par .xhtml .xml)

Je suis connecté une amélioration pour cela: https: //bugzilla.mozilla. org / show_bug.cgi? id = 486931

Autres conseils

œuvres contentEditable (testé dans Firefox et Chrome) sur les éléments qui sont étrangers au format html / xhtml si j'utilise ce type de document:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                      "http://www.w3.org/TR/html4/loose.dtd">

et une extension de fichier .html (au lieu de .xml).

Je n'ai pas d'inclure des éléments HTML du tout (par exemple, la tête, le corps, div, p).

est pas appliquée css bien (si mon xml est dans un espace de noms, que je suppose est logique, compte tenu de la doctype!).

Pas une solution élégante.

Firefox est l'un des rares navigateurs qui applique strictement la spécification XHTML. Donc, pour faire un élément modifiable, vous devez spécifier l'attribut contenteditable comme true. Notez que le nom complet de l'attribut est minuscule. Dans votre exemple, le premier « E » dans éditable a été capitalisée.

Une autre bizarrerie qui devrait être mentionné est que IE (6,7,8) agissent exactement le contraire. Pour un élément modifiable dans IE, vous DOIT ajouter contentEditable="true" exactement. Pour une raison quelconque, contenteditable="true" (ainsi que toute autre variation de la capitalisation) ne fonctionne pas.

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