Posez votre question Signaler

Comment charger une page HTML en Javascript [Résolu]

Perlogic - Dernière réponse le 20 oct. 2011 à 04:29
Bonjour,
J,ai une page HTML contruit à l'aide de deux DIV. Les DIV sont placer l'un en dessous de l'autre.
par exemple:
<DIV id="f_1">
et
<DIV id="f_2">
Sur une action ONCLICK j'appel une fonction Javascript que j'ai créé, cette fonction doit charger une page HTML qui est sur mon disque dur. Mais mon problème est que je ne saisp as comment charger cette page pour l'afficher mon dans le DIV f_2.
Avez-vous une idée pour comment faire?
Merci beaucoup
Perlogic
Lire la suite 

Comment charger une page HTML en Javascript »

14 réponses
Réponse
+12
moins plus
Yes, j'ai trouvé une astuce.

 <html>
	 <head>
		 <script language="JavaScript" type="text/javascript">
			function loadPage(url){
				document.getElementById('if').contentWindow.document.location.href=url;
			}
		 </script>
	 </head>
	 <body>
		 <div id="f_1">
			<button onclick="javascript:loadPage('http://www.google.be');">Cliquer pour charger la Div ci-dessous</button>
		 </div>
                                 <div id="clear" width="640" height="480"></div>
		 <div id="f_2">
			<iframe id="if" width="640" height="480">
			</iframe>
		 </div>
		 </div>
		 </div>
	 </body>
 </html>


Perlogic
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour,

Super la ce que HackTrack a écrit, mais j'obtient un problèeme d'accèes si je clique dessus plus d'une fois. Ceci me pose un problème car dans mon premier DIV sera mon menu, puis le second DIV sera mes différente pages choisie ou par des hyperliens.

Mon menu lancera des pages HTML dans le IFRAME, mais il semble que je ne peux pas ouvrir deux IFRAME sur l'un sur l'autre. D'où le problèeme du bouton, je ne peux le cliquier qu'une seule fois.

Il y a t-il une astuce?

Merci

Perlogic
Ajouter un commentaire
Réponse
+2
moins plus
Ha non!

J'ai pas résolu mon problème d'accès refusé

Avez-vous une idée?

Merci

Perlogic
Alain_42- 29 août 2008 à 18:07
cette fonction doit charger une page HTML qui est sur mon disque dur

Je ne pense pas que Javascript puisse accéder à ton disque dur, heureusement ! car brrrrrr la sécurité

Un site mal intentionné viendrait lire dans ton DD et recupérerait ça
Ajouter un commentaire
Réponse
+2
moins plus
Une première fois pour lire mon fichier HTML il n'y a pas de problème. Et charger un autre fichier dans le même iframe cause un problème d'accès .

J'ai pensé metre un DIV sur la région avant de refaire mon iframe, mais ça n'a pas fonctionné. Le code de HackTrack fonctione, mais si le bouton est utilisé plus d'une fois, ça ne fonctionne plus.

Es-t'il possible de retirer le iframe pour libérer l'espace pour en mettre un autre?

Merci


Perlogic
tanahe - 19 janv. 2009 à 07:16
salutation (surement un peu tard :s)

le code de Hacktrack etait bon
je l'ai juste un peu modif..
es ce ca que tu cherches ?

<html>
<head>
<script language="JavaScript" type="text/javascript">
function loadPage(url){
document.getElementById('f_2').innerHTML = '<iframe src="' + url + '" width="640" height="480"></iframe>';
}
</script>
</head>
<body>
<div id="f_1">
<button onclick="javascript:loadPage('http://www.google.be');">Cliquer pour charger la Div ci-dessous be</button>
<button onclick="javascript:loadPage('http://www.google.fr');">Cliquer pour charger la Div ci-dessous fr</button>
<button onclick="javascript:loadPage('http://www.google.de');">Cliquer pour charger la Div ci-dessous de</button>
</div>
<div id="f_2"></div>
</div>
</div>
</body>
</html>

avec ce code et quelque ligne plus, il est meme possible avec de choisir un autre div pour destination
@+
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour,

J'ai pas lu la discussion entièrement (pardonnnez!) mais moi pour charger une page à partir d'un boutonj'utilise le code suivant:
<INPUT TYPE="button" VALUE="clic Google" onclick="javascript:window.location.replace('http://www.google.be');" >
Ajouter un commentaire
Réponse
+0
moins plus
peut-être en utilisant un iframe...
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour / Bonsoir,

Pour charger quoi que ce soit dans une Frame/IFrame, il FAUT tout d'abord lui donner un NOM, soit l'attribut name=zone_1 par exemple, PUIS par chaque bouton correspondant CIBLER la Frame/IFrame par son NOM !

Exemple :
document.write("<IFRAME src='page3.html' name=zone_1 width=100% height=97% scrolling=auto frameborder=0 > </IFRAME>")

Ensuite, il y a trois manières d'accéder à une Frame/IFframe :

* Avec le nom
* Avec l'objet global frames
* Avec l'id

Ne PAS prendre id, qu'il est effectivement possible d'utiliser tout comme name ou l'objet global supporté par tous les navigateurs MAIS qu'Ie refuse...

Voici donc les deux techniques en action :

var oFrame = window.zone_1; // Avec le name
var oFrame = window.frames["zone_1"]; // Avec l'objet global


Une fois l'iframe atteinte, on peut accéder à son contenu, avec l'objet document :

var oFrame = window.zone_1.document; // Avec le name
var oFrame = window.frames["zone_1"].document; // Avec l'objet global

Pour changer le contenu, rien de plus simple par src :

Bouton 1 lance,
document.getElementById('zone_1').src = "autreFichier1.html";
Bouton 2 lance,
document.getElementById('zone_1').src = "autreFichier2.html";
etc.

Mais RAPPEL, par ID problème avec Ie

Sinon :

Bouton 1 lance,
<A HREF="autreFichier1.htm" TARGET="zone_1">
Bouton 2 lance,
<A HREF="autreFichier2.htm" TARGET="zone_1">
etc.

Cordialement, Yvanoph---
Ajouter un commentaire
Réponse
-1
moins plus
Bonjour,

un IFRAME ne fonctionne pas, voici ce que j'ai essayer dans mon javascript:

document.write("<IFRAME src='page3.html' width=100% height=97% scrolling=auto frameborder=0 > </IFRAME>")

Le problèeme est que je ne peux lui dire dans quel ID l'envoyer ou dans quel CSS, la clause Class n'existe pas.

      IFRAME= (frame flottant) HTML 
Définition Définit un frame flottant 3.2 4.0 
Syntaxe <IFRAME> ... </IFRAME>
IFRAME est un élément fermé.     
Attributs spécifiques 
  Align Aligne un frame flottant à gauche, au centre ou à droite de l'écran.     
  Name Attribue un nom au frame flottant     
  Noresize Précise au navigateur que l'utilisateur ne peut modifier la taille du frame. Attribut sans paramètre.     
  SRC Définit le document source et son adresse      
  Width Permet de définir la largeur de la fenêtre ouverte.     
  Height Définit la hauteur de la fenêtre ouverte.     
  Frameborder Permet d'afficher ou non la bordure du frame.     
  Scrolling Autorise ou interdit l'affichage des ascenseurs sur les côtés du frame.     
  Marginwidth Permet de définir un espace horizontal entre la bordure du frame et la bordure du document.     
  Marginheight Permet de définir un espace vertical entre la bordure du frame et le bordure du document.     
  Hspace Détermine l'espace entre texte et frame sur les côtés verticaux.      
  Vspace Détermine l'espace entre texte et frame sur les bords horizontaux.     
toutgreg - 21 nov. 2009 à 12:52
Merci beaucoup
Yvanoph- 28 févr. 2011 à 18:58
Fermer TROIS </div> quand UNE SEULE est ouverte ? ? ?
Mik - 20 oct. 2011 à 04:29
exact, y pue tight avec ses 3 </div>...
Ajouter un commentaire
Ce document intitulé « comment charger une page HTML en Javascript » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?