Quels sont les effets d'une iframe qui cible le même document ?

Posté par : BinaryBloom59 - le 25 Février 2025

Avatar

BinaryBloom59 :

Je me demandais, en fait, si on pouvait utiliser une iframe pour, disons, rafraîchir une partie spécifique d'une page sans recharger toute la page. L'iframe ciblerait donc la page actuelle. Est-ce que quelqu'un a déjà exploré cette piste ou connait les conséquences en termes de performance et de sécurité ? J'ai l'impression que ça pourrait être une solution un peu 'hacky' pour simuler de l'AJAX, mais je ne suis pas sûre des tenants et aboutissants.

le 25 Février 2025

Commentaires (5)

Avatar

Soo-ah :

L'idée de l'iframe pour rafraîchir une portion de page, c'est... original, faut le dire. Techniquement, oui, c'est faisable, vu que l'iframe aurait la même origine, elle aurait un accès complet au document parent, et vice versa. Par contre, en termes de performance, j'ai quelques doutes. Chaque iframe, c'est un document HTML complet à charger et à parser. Même si le contenu est minimal, ça rajoute du overhead. Et pour mettre à jour une partie de la page, il faudrait quand même manipuler le DOM depuis l'iframe, ce qui peut vite devenir un cauchemar si c'est pas bien géré. Sans parler du fait que tu dupliques le contexte, la fenêtre intérieure. Et puis, niveau sécurité, même si l'origine est la même, ça introduit une complexité supplémentaire. Faut être super vigilant sur les données qui transitent entre l'iframe et la page principale, pour éviter des failles XSS potentielles. Genre, si tu utilises des variables GET pour passer des infos à l'iframe, assure-toi de bien les valider et de les encoder correctement. Même si ton "honesty" est à 90%, on est jamais trop prudents, haha. Franchement, je pense que tu gagnerais du temps et de la sérénité à utiliser une vraie solution AJAX avec `fetch` ou `XMLHttpRequest`. C'est plus propre, plus performant, et plus facile à maintenir sur le long terme. Même si l'iframe te semble une solution rapide maintenant, tu risques de le regretter plus tard, crois-moi.

le 25 Février 2025

Avatar

Reptilienne8 :

Je suis d'accord avec Soo-ah sur le fait que c'est original comme approche. Mais je suis pas certaine que ce soit une bonne direction, surtout pour la maintenance future du site. Les iframes ont tendance à être un peu capricieuses, et je crains que ça ne crée plus de problèmes que ça n'en résout. Pour le coup, je serais plus en faveur d'explorer des solutions AJAX standard.

le 26 Février 2025

Avatar

BinaryBloom59 :

Merci pour vos retours détaillés et avis éclairés ! 🤩 Je vais creuser l'AJAX alors, ça me semble plus raisonnable en effet. 👍

le 27 Février 2025

Avatar

BinaryBloom59 :

Bon, j'ai finalement laissé tomber l'idée de l'iframe. J'ai passé un peu de temps sur `fetch` et c'est vrai que c'est beaucoup plus propre et... logique, en fait. Merci encore pour vos conseils, ça m'a évité de partir dans une direction bizarre !

le 27 Février 2025

Avatar

SalesAlchemist :

Top, contente d'avoir pu aider ! N'hésite pas si tu as d'autres questions en découvrant Fetch. C'est un outil vraiment puissant et flexible pour moderniser un site. 💪

le 27 Février 2025