web-dev-qa-db-fra.com

Selection.addRange () est obsolète et sera supprimé de Chrome

J'ai récemment remarqué le message suivant dans le journal de la console de Chrome, lors de l'utilisation de éditeur aloha :

aloha.js: 14579 - Le comportement selon lequel Selection.addRange () fusionne la plage existante et la plage spécifiée est obsolète et sera supprimé dans M58, vers avril 2017. Voir https://www.chromestatus.com/features/6680566019653632 pour plus de détails.

En essayant de trouver un remplaçant, je n'ai rien trouvé d'autre que le supprimer, donc je voudrais savoir quelles sont les alternatives à Selection.addRange () pour se débarrasser de ce message.

13
Inc33

L'astuce consiste à utiliser removeAllRanges() sur votre sélection avant d'ajouter votre nouvelle plage à l'aide de addRange(range). Voici un exemple lors de son utilisation pour sélectionner tout le contenu de elem:

selection = window.getSelection();    // Save the selection.
range = document.createRange();
range.selectNodeContents(elem);
selection.removeAllRanges();          // Remove all ranges from the selection.
selection.addRange(range);            // Add the new range.
22
Raymundus