Kheys
2 109
modifications
(→Fonction officielle JVC : Réécriture) |
|||
| Ligne 266 : | Ligne 266 : | ||
Par ailleurs, en dehors de cette méthode, JVC a proposé une entrée native pour interagir directement avec REACT.<br> | Par ailleurs, en dehors de cette méthode, JVC a proposé une entrée native pour interagir directement avec REACT.<br> | ||
<code>jvc.getMessageEditor()</code> | <code>jvc.getMessageEditor();</code> (C'est une entrée partielle, pour réaliser des fonctions officielles du site.) | ||
https://www.jeuxvideo.com/forums/message/1286112457 | https://www.jeuxvideo.com/forums/message/1286112457 | ||
jvc.getMessageEditor(".class").insertText(`mon texte`); // Place du texte à l'endroit sur le focus | |||
jvc.getMessageEditor(".class").insertStartLine(`mon texte`); // Place du texte en début de ligne. | |||
jvc.getMessageEditor(".class").selectedText; // Récupérer la sélection utilisateur. | |||
PS : Pour garantir le bon fonctionnement, utilisez simplement jvc.getMessageEditor(); '''sans le préfixe "window"'''.<ref>Les userscripts sont exécutés dans un environnement isolé (appelé sandbox), ce qui empêche parfois l’accès direct aux objets définis dans le contexte global de la page, comme window</ref>. <br> | |||
Il est nécessaire de faire appel à <code>jvc.getMessageEditor();</code> à chaque modification, sinon vous travaillerez avec une version antérieure de la zone de texte. | |||
Cette fonction prend directement en compte des sélecteurs CSS et pas des éléments, exemple : | |||
let selector = "#message_topic" | let selector = "#message_topic" | ||
jvc.getMessageEditor(selector).insertText('text'); //✅ Marche | jvc.getMessageEditor(selector).insertText('text'); //✅ Marche | ||
jvc.getMessageEditor() | let selector = document.getElementById("message_topic") | ||
jvc.getMessageEditor(selector).insertText('text'); //❌ Ne marche pas | |||
Cependant, cette fonction présente plusieurs avantages notables : elle est à la fois native à JVC et intégrée au fonctionnement de React. | |||
De plus, contrairement à une modification directe du champ texte via JavaScript, cette fonction ne nécessite aucune gestion manuelle du curseur, de la sélection ou des espaces, tout est automatiquement pris en charge par la fonction elle-même. | |||
En revanche, pour manipuler le champ entièrement (suppression, remplacement) {{fleched}} la fonction à moins d'intérêt. | En revanche, pour manipuler le champ entièrement (suppression, remplacement) {{fleched}} la fonction à moins d'intérêt. | ||
== Liens externes == | == Liens externes == | ||