comment sélectionner une plage de texte dans CKEDITOR par programmation?
Problème:
J'ai un CKEditor exemple, dans mon javascript:
var editor = CKEDITOR.instances["id_corpo"];
et j'ai besoin d'insérer du texte par programmation, puis sélectionnez une plage de texte par la suite.
Je l'ai déjà fait insérer du texte à travers
editor.insertHtml('<h1 id="myheader">This is a foobar header</h1>');
Mais j'ai besoin de sélectionner (mettre en surbrillance) le mot "foobar", par programmation à l'aide de javascript, afin que je puisse utiliser le sélénium certains tests fonctionnels avec mon CKEditor plugins.
Mise à JOUR 1:
J'ai aussi essayé quelque chose comme
var selection = editor.getSelection();
var childs = editor.document.getElementsByTag("p");
selection.selectElement(childs);
Mais ne fonctionne pas à tous!
Comment puis-je le faire?
Je pense que
selection.selectRange()
pourrait faire le travail, mais je'could pas à comprendre comment l'utiliser.
Il n'y a pas d'exemples là 🙁
- J'ai déjà essayé le selectElement, mais sans succès
- getElementsByTag retourner une collection d'éléments. Vérifiez soigneusement quels sont les objets que vous utilisez, leurs méthodes et propriétés, et si il y a des erreurs. Vous pouvez utiliser la CKEditor fichiers source pour déboguer les appels quand il n'est pas clair ce que certains de la méthode de fait ou pourquoi il ne l'échec.
Vous devez vous connecter pour publier un commentaire.
En cours de sélection
Modifier la sélection de l'élément courant
Déplacez la gamme pour le texte que vous voulez sélectionner
p
ouspan
. Toutefois, si vous sélectionnez n'importe où après n'importe quelle balise, il lèvera une erreurUncaught IndexSizeError: Failed to execute 'setStart' on 'Range': The offset 364 is larger than or equal to the node's length (37).
Veuillez voir cet exemple de code html - pastebin.com/CkTBewqbVous pouvez également effectuer les opérations suivantes:
obtenir la sélection actuelle
si rien n'est sélectionné, puis créer un nouveau paragraf élément
Insérer votre contenu dans l'élément
Si nécessaire, insérez votre élément dans le dom (il sera inséré dans la position actuelle)
et puis il suffit de le sélectionner
Découvrez la selectElement() la méthode de CKEDITOR.dom.sélection.
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dom.selection.html
insérer du texte au curseur de point de ck editor
CKEDITOR.les instances de['rédacteur1'].feu( 'insertText',mavaleur);
}
ce travail est pour moi