11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'aimerai savoir s'il est possible d'ouvrir une popup (en cliquant sur un lien) qui n'affiche que le contenu d'un DIV d'une url donnée, et pas le reste. Avec la fonction window.open par exemple.

Comme ma question n'est pas très claire, voici un exemple :
J'ai une page Web avec une bannière, un menu, un footer, etc. et le corps de texte de l'article (appelons le div id"article").
Je souhaite que la popup n'affiche que ce qu'il y a contenu dans div id="article" et pas le reste (bannière, footer...).

Merci d'avance pour vos réponses. Smiley smile

Cordialement.
Bonjour,

Ouvrir des Popups avec window.open est un peu d'un autre temps. C'est très intrusif et déconseillé. Tes popups seront de toute façon bloqués par des extensions comme adBlock chez la plupart des utilisateurs.

Par contre tu peux les afficher par dessus ta page (en Modal), ce que font facilement des frameworks comme Bootstrap.
Modérateur
Bonsoir,

Est ce que cette page se trouve sur le même domaine que ta page ou tu veut l'injecter ?
Si chez toi, utilise tu un CMS ou des scripts pour générer tes pages ?

Tu peut éventuellement récupérer ton document via Ajax, puis ne récupérer qu'une partie de sa structure. , sur le même domaine, tu devrais pouvoir récupérer la page et extraire en théorie la partie qui t’intéresse en JavaScript avant de l'afficher.

Si la page est ailleurs, toujours via Ajax, mais la récupérer d'abord coté serveur via Curl (PHP) et la traité ensuite coté serveur ou visiteur (donc tu appel un script sur ton serveur qui se charge lui de récupérer le contenu de la page qui t’intéresse). Si la page est d'un autre domaine, rien ne garantie que tu auras bien le contenu de la page. L'autre serveur peut refuser la connexion et te renvoyer un 404 , te renvoyer une autre page ou ne rien faire en te renvoyant la page comme pour un navigateur.

Ce que tu veut faire peut vite devenir complexe , si la page que tu veut récupérer est ailleurs ou mal foutue ou que tu est tout juste débutant Smiley decu

Comme @migli , je te conseillerais d'utilisé une modale (un div en fixed au dessus du reste) pour afficher le contenu récupérer, tu peut aussi choisir de l'injecter dans une iframe ou un object si les feuilles de styles sont incompatibles. (en les passanr en daturi dans data ou source).

Cdt
Modifié par gcyrillus (17 Apr 2022 - 19:54)
Merci pour vos réponses, je vais regarder avec Modal voir ce que je peux faire.
Le problème étant que je dois appeler le contenu d'un div spécifique (div "article") contenu dans une page Web entière, et uniquement ce div. Mais ce div n'est pas statique, le contenu varie en fonction de l'url de la page appelée.

Je dois donc passer une fonction javascript dans le lien qui ouvre la "popup" (ou modal donc). Et je ne sais pas faire ça. Si vous pouvez m'aider svp, ce serait très sympa de votre part.
Exemple :

Lien Item1 : ouvre "popup" avec uniquement le contenu de div article de la page 1
Lien Item2 : ouvre "popup" avec uniquement le contenu de div article de la page 2
Lien Item3 : ouvre "popup" avec uniquement le contenu de div article de la page 3
Etc.

La page en "popup" se trouve sur le même domaine sinon.
Modifié par bendeb (19 Apr 2022 - 15:40)