Discontigious Sélection n'est pas pris en charge d'erreur dans google chrome et chromium
Je suis en train de travailler sur un signet application, où j'ai pour stocker de l'utilisateur sélectionné des mots-clés ou des mots ou de leur contenu. Je suis l'aide de la createRange() et addRange() les méthodes javascript pour créer la gamme et ensuite trouver les éléments sélectionnés/contenu par l'utilisateur. Le code que j'ai écrit pour ce est comme suit.
<head>
<script type="text/javascript">
var storedSelections = [];
function StoreSelection () {
if (window.getSelection) {
var currSelection = window.getSelection ();
for (var i = 0; i < currSelection.rangeCount; i++) {
storedSelections.push (currSelection.getRangeAt (i));
}
currSelection.removeAllRanges ();
} else {
alert ("Your browser does not support this example!");
}
}
function ClearStoredSelections () {
storedSelections.splice (0, storedSelections.length);
}
function ShowStoredSelections () {
if (window.getSelection) {
var currSelection = window.getSelection ();
currSelection.removeAllRanges ();
for (var i = 0; i < storedSelections.length; i++) {
currSelection.addRange (storedSelections[i]);
}
} else {
alert ("Your browser does not support this example!");
}
}
</script>
</head>
<body>
Select some content on this page and use the buttons below.<br /> <br />
<button onclick="StoreSelection ();">Store the selection</button>
<button onclick="ClearStoredSelections ();">Clear stored selections
</button>
<button onclick="ShowStoredSelections ();">Show stored selections</button>
</body>
Ce code fonctionne parfaitement sur Firefox. Je suis capable de sélectionner plusieurs choses une par une et en mesure d'afficher le contenu sélectionné à nouveau, mais sur chrome et chromium, je suis Discontiguous selection is not supported.
d'erreur quand je stocker plus d'un des éléments dans la gamme de tableau et cliquez sur show stockées bouton options.
Aide sera appréciée. Et s'il vous plaît me suggérer si il y en a d'autres alternatives à ce faire bookmarking tâche.
Il est donné que c'est seulement un avertissement, mais si vous exécutez le code dans firefox et chrome, vous verrez la différence en termes de fonctionnalité et de voir que c'est une erreur dans le chrome et chrome
Juste testé sur OS X 10.10 avec Chrome (40.0.2214.93, 64bit) et Safari (version 8.0.2, construire 10600.2.5) - fonctionne avec les deux et il n'y a rien dans la console.
Je l'utilise sur ubuntu 12.10 et le problème existe partout autre que Firefox.
Il a donné un autre essai sur Ubuntu 14.04, aussi Chrome 40.0.2214.93: fonctionne parfaitement. Quelle version de Chrome sont des vous à l'aide?
OriginalL'auteur Sajid Ahmad | 2015-01-29
Vous devez vous connecter pour publier un commentaire.
Écrire
immédiatement avant la création de la gamme.
https://bugs.chromium.org/p/chromium/issues/detail?id=399791
OriginalL'auteur
Pour info j'ai été prendre une semblable erreur lors du déploiement de mon propre "copier dans le presse-papiers". Je ne vais pas à l'adresse de l'OP du code fourni, mais je vais vous dire comment je l'ai corrigé dans mon propre code.
Reproduire:
Prévu:
"bar" est sortie.
Réel:
"Discontinus de sélection n'est pas pris en charge"
Correctif:
Appel
window.getSelection().removeAllRanges()
à la commencer de votre "copier dans le presse-papiers" gestionnaire d'événement. "Discontinus" signifie "non connecté". Si ma conjecture est que le navigateur copies de la première plage (le nœud contenant "toto"), puis se met en colère lorsque vous essayez de sélectionner une autre plage qui n'est pas à côté du premier nœud.Le bug peut être corrigé, comme de 20Feb - bugs.chromium.org/p/chromium/issues/detail?id=353069#c4
OriginalL'auteur