« Fonctionnement technique de Jeuxvideo.com » : différence entre les versions
Merci Rand pour la complete, j'avais des fonctions plus primaires.
m (déplacement entrée ref) |
user: 413ff04 (?) (Merci Rand pour la complete, j'avais des fonctions plus primaires.) |
||
| Ligne 237 : | Ligne 237 : | ||
Phoenix était une partie de JVC développée en Node.js et utilisant React. De plus en plus abandonnée au fil du temps, elle était utilisée pour afficher la liste des jeux et des contenus de la rédaction. Phoenix utilisait une API spéciale hébergée au sous-domaine [[Documentation_de_l%27API_Jeuxvideo.com#API_jvc.gg|''api.jvc.gg'']]. Phoenix ainsi que l'API GG disparaissent en février 2025 et les pages qu'elles servaient sont basculées vers la partie principale du site <ref>https://www.jeuxvideo.com/forums/message/1297456370</ref>. | Phoenix était une partie de JVC développée en Node.js et utilisant React. De plus en plus abandonnée au fil du temps, elle était utilisée pour afficher la liste des jeux et des contenus de la rédaction. Phoenix utilisait une API spéciale hébergée au sous-domaine [[Documentation_de_l%27API_Jeuxvideo.com#API_jvc.gg|''api.jvc.gg'']]. Phoenix ainsi que l'API GG disparaissent en février 2025 et les pages qu'elles servaient sont basculées vers la partie principale du site <ref>https://www.jeuxvideo.com/forums/message/1297456370</ref>. | ||
== Passage en React== | |||
'''Fin mai 2025,''' jvc commence à se baser pour certaines parties du site sur la librairie [https://fr.wikipedia.org/wiki/React React] , ce qui a une grosse influence sur les [[Script|userscripts]] . | |||
Insérer du texte manuellement, ne marche plus : | |||
<s>messageTextArea.value = message;</s> | |||
Il faut simuler le changement pour React, Il existe pour cela '''une fonction très utilisée''' sur le web : | |||
function fonctionreact(textarea, value) { | |||
const prototype = Object.getPrototypeOf(textarea); | |||
const nativeSetter = Object.getOwnPropertyDescriptor(prototype, 'value').set; | |||
nativeSetter.call(textarea, value); | |||
textarea.dispatchEvent(new Event('input', { bubbles: true })); | |||
} | |||
Ensuite il faut faire appel à cette fonction : | |||
fonctionreact(messageTextArea, message); | |||
En 1er on donne l'ID de la zone de texte et en 2nd le texte à insérer. | |||
Pour simplifier, <code><span style="color:red;">messageTextArea</span>.value = <span style="color:green;">message</span>;</code> devient <code>fonctionreact(<span style="color:red;">messageTextArea</span>, <span style="color:green;">message</span>);</code> avec cette fonction. | |||
== Liens externes == | == Liens externes == | ||