Lien vers iframe

Lien vers iframe - HTML/CSS - Programmation

Marsh Posté le 21-04-2006 à 21:33:23    

Bonsoir à tous,
 
J'ai créé une iframe dans page1.htm avec le contenu de page2.htm à l'intérieur de l'iframe, ce qui donne :  
<iframe name="iframe1" src="page2.htm"></iframe>
 
J'ai créé des liens sur page1.htm qui pointent vers d'autres pages afin de modifier le contenu de l'iframe grâce à target="iframe1", cela fonctionne bien.
 
Mais comment effectuer la même chose avec un lien sur une autre page ?
J'ai essayé par différentes façons mais cela n'aboutie à rien.
 
Le but : Depuis une autre page, il faudrait atteindre page1.htm pour modifier le contenu de l'iframe.
 
Merci d'avance pour votre aide !

Reply

Marsh Posté le 21-04-2006 à 21:33:23   

Reply

Marsh Posté le 22-04-2006 à 12:20:01    

> Depuis une autre page, il faudrait atteindre page1.htm pour modifier le contenu de l'iframe.
- quel genre d'autre page? un popup?

Reply

Marsh Posté le 22-04-2006 à 14:05:06    

Non, une simple page .htm , on pourrait l'appeler page3.htm
 
Ceci sera plus explicite peut-être :
http://img88.imageshack.us/img88/3831/sanstitre15cl.gif

Reply

Marsh Posté le 23-04-2006 à 07:59:12    

UP

Reply

Marsh Posté le 23-04-2006 à 09:16:35    

avec FF ça fonctionne, je n'ai pas souvenir que sous IE ce soit différent

Reply

Marsh Posté le 23-04-2006 à 09:18:25    

Dans page3:

Code :
  1. <a target="testiframe" href="testframe2.html">2</a><br>
  2. <a target="testiframe" href="testframe4.html">4</a><br>


Dans page1:

Code :
  1. <iframe name="testiframe" src="testframe2.html">
  2. </iframe>


Reply

Marsh Posté le 23-04-2006 à 09:48:25    

ça marche avec IE6
ça plaît même à Opéra et Konqueror
 
tu doit avoir une fôte de frappe dans le nom de l'iframe

Reply

Marsh Posté le 23-04-2006 à 09:58:10    

Pourtant je n'ai pas d'erreurs, lorsque je clique sur un lien dirigé vers l'iframe depuis page3.htm, le contenu s'affiche dans un popup et non dans l'iframe de page1.htm.

Reply

Marsh Posté le 23-04-2006 à 10:06:40    

ok, montre le code de page1 et page3

Reply

Marsh Posté le 23-04-2006 à 10:53:36    

Un lien de page1.htm : --> Fonctionne

Code :
  1. <a href="Page4.htm" target="iframe">Lien</a>


 
 
Un lien de page3.htm : --> Ne fonctionne pas

Code :
  1. <a href="Page4.htm" target="iframe">Lien</a>


 
 
L'iframe de page1.htm, contenant page2.htm (à l'origine) :

Code :
  1. <iframe name="iframe" src="Page2.htm" width="762" height="1718" scrolling="auto">
  2. L'affichage du forum n'est pas reconnu par votre naviguateur, <a href="Page2.htm">
  3. cliquez ici</a> pour y accéder.</iframe>


Message édité par franssnouf le 23-04-2006 à 10:55:02
Reply

Marsh Posté le 23-04-2006 à 10:53:36   

Reply

Marsh Posté le 23-04-2006 à 10:59:05    

Le plus étrange, c'est que les deux liens sont identiques sur page1.htm et page3.htm, or : l'un fonctionne et l'autre ne fonctionne pas.
 
Celui qui fonctionne est un lien situé directement sur la page de l'iframe, alors que l'autre est situé sur une page externe.
 
Mon hypothèse : Pour que le lien de page3.htm reconnaisse l'iframe : il faudrait pouvoir indiquer à ce lien externe que l'iframe se trouve sur page1.htm... Mais comment ?


Message édité par franssnouf le 23-04-2006 à 11:00:35
Reply

Marsh Posté le 23-04-2006 à 11:55:31    

Évite d'appeler une frame ``iframe``, c'est un mot clé réservé, et ça peut entraîner certains bugs.
 
Note aussi que dans le choix des noms de frames, si l'internaute a une autre frame du même nom (il surfe sur un autre site en même temps), il se peut que le navigateur se mélange les pinceaux. À éviter les nom trop communs, pour plus de sûreté, ajoute le nom de domaine de ton site:
<iframe name='"www_monsite_com_vue_forum" ...>
 
Si ton navigateur ouvre quand même une popup après ces modifications, vérifie si tu n'a pas un javascript sur tes liens.


Message édité par nargy le 23-04-2006 à 11:56:29
Reply

Marsh Posté le 24-04-2006 à 09:26:48    

C'est vérifié, toujours le même problème...

Reply

Marsh Posté le 24-04-2006 à 09:47:24    

c'est quoi l'adresse?

Reply

Marsh Posté le 24-04-2006 à 11:45:49    

Page1.htm : http://perso.wanadoo.fr/ttycoonfl/Forum.htm
Page de l'iframe contenant page2.htm (le lien vers page4.htm qui doit s'ouvrir dans l'iframe est le lien "Connexion" en haut)
 
Page2.htm : http://ttycoonfl.forumactif.com
Page présente dans l'iframe de page1.htm
 
Page3.htm : http://perso.wanadoo.fr/ttycoonfl/index.htm
La page principal (le lien vers page4.htm qui doit s'ouvrir dans l'iframe est le lien "Connexion" dans le menu de gauche)
 
Page4.htm : http://ttycoonfl.forumactif.com/login.forum?connexion
La page qui correspond au lien "connexion", qui doit s'ouvrir dans l'iframe lorsqu'on clique sur le lien "connexion" dans page1.htm et page3.htm


Message édité par franssnouf le 24-04-2006 à 11:46:07
Reply

Marsh Posté le 24-04-2006 à 11:55:04    

tu ne peux faire un lien dans une iframe que si celle-ci est dans la "même page" que le lien en question.
 
Ce que tu cherches faire c'est:
- un lien de p3 vers p1
- à l'ouverture de p1, l'iframe contenu dans celle-ci est charge p2...
Tu ne peux pas y arriver en "pur" html!

Reply

Marsh Posté le 24-04-2006 à 12:27:37    

> Tu ne peux pas y arriver en "pur" html!
- avec les dernières versions des navigateurs ça fonctionne, notamment FF, IE6, Opéra, Konquéror
 
- pour les anciens navigateurs (en fait IE5 il me semble) il te faut un javascript onclick:

Code :
  1. window.parent.frames['...framepage1...'].frames['...iframe...'].location='http://url'; return true;

Reply

Marsh Posté le 24-04-2006 à 12:36:23    

nargy a écrit :

> Tu ne peux pas y arriver en "pur" html!
- avec les dernières versions des navigateurs ça fonctionne, notamment FF, IE6, Opéra, Konquéror
 
- pour les anciens navigateurs (en fait IE5 il me semble) il te faut un javascript onclick:

Code :
  1. window.parent.frames['...framepage1...'].frames['...iframe...'].location='http://url'; return true;



Je pense qu'on parle pas de la même chose :o
Evidement qu'avec un attribut target le lien va s'ouvrir dans l'iframe en question, mais encore faut-il que l'iframe "existe"(donc soit dans la même page que le lien). Et c'est existe pour tous les navigateurs qui supportent les iframes!!! La ça lui ouvre un "pop-up" parce que le target est inconnu et que par defaut la valeur du target est "_blank"!
Ce qu'essaye de faire franssnouf ( si j'ai tout bien compris son image) c'est sur une 1ere page il a un lien et ce lien envoie sur une deuxieme. Sur cette deuxieme page il y a une iframe quoi doit être chargé en fonction du lien de la page 1... wouuuh je sais pas si je suis plus clair ;)
 

Reply

Marsh Posté le 24-04-2006 à 13:25:24    

Citation :


Ce qu'essaye de faire franssnouf ( si j'ai tout bien compris son image) c'est sur une 1ere page il a un lien et ce lien envoie sur une deuxieme. Sur cette deuxieme page il y a une iframe quoi doit être chargé en fonction du lien de la page 1... wouuuh je sais pas si je suis plus clair ;)


moyen clair :D mais si j'ai compris ce que tu dis, c'est aussi possible à faire, il suffit que la page ait une source d'iframe différente.
 
De toutes façon, il me semble que ce n'est pas ce qu'il veut faire:

Citation :


Le but : Depuis une autre page, il faudrait atteindre page1.htm pour modifier le contenu de l'iframe.  


Reply

Marsh Posté le 24-04-2006 à 13:30:20    

ah! on peut même pas tester, donne la <<page0>> stp, celle qui contient à la fois <<page3>> et <<page1>>.

Reply

Marsh Posté le 24-04-2006 à 13:35:25    

Citation :

Ce qu'essaye de faire franssnouf ( si j'ai tout bien compris son image) c'est sur une 1ere page il a un lien et ce lien envoie sur une deuxieme. Sur cette deuxieme page il y a une iframe quoi doit être chargé en fonction du lien de la page 1... wouuuh je sais pas si je suis plus clair  


 
Précisément oui !
Hmm... si cela est impossible à concevoir en html, une application javascript pourrait-être la solution.


Message édité par franssnouf le 24-04-2006 à 13:35:44
Reply

Marsh Posté le 24-04-2006 à 13:50:42    

nargy a écrit :

moyen clair :D mais si j'ai compris ce que tu dis, c'est aussi possible à faire, il suffit que la page ait une source d'iframe différente.


Encore une fois si j'ai tout compris voila ce qu'il veut:
page1.html:

Code :
  1. ...
  2. <a href="page2.html">le lien vers la page 2</a>
  3. ...


page2.html

Code :
  1. ...
  2. blabla
  3. ...
  4. <iframe src="truc.html" name="pouet"></iframe>
  5. ...


Donc le lien de la page1 "envoie" sur la page2 qui contient l'iframe et c'est iframe affiche "truc.html".
Sauf qu'il existe aussi une page3 qui contient une lien sur page2 mais que lorsque l'on provient de page3, l'iframe ne doit pas afficher truc.html mais machin.html ....
Et donc si c'est ça, je le redis c'est impossible en "pur" html !!! ;)
 
Alors oui c'est faisable en javascript mais bof quoi :o
 

Reply

Marsh Posté le 24-04-2006 à 14:09:59    

franssnouf a écrit :

Bonsoir à tous,
 
J'ai créé une iframe dans page1.htm avec le contenu de page2.htm à l'intérieur de l'iframe, ce qui donne :  
<iframe name="iframe1" src="page2.htm"></iframe>
 
J'ai créé des liens sur page1.htm qui pointent vers d'autres pages afin de modifier le contenu de l'iframe grâce à target="iframe1", cela fonctionne bien.
 
Mais comment effectuer la même chose avec un lien sur une autre page ?
J'ai essayé par différentes façons mais cela n'aboutie à rien.
 
Le but : Depuis une autre page, il faudrait atteindre page1.htm pour modifier le contenu de l'iframe.
 
Merci d'avance pour votre aide !


Je crois que c'est défini comme une faille de sécurité, je sais que ça fonctionne toujours sur IE, mais plus sous firefox


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 24-04-2006 à 14:32:57    

> Et donc si c'est ça, je le redis c'est impossible en "pur" html !!! ;)
- le plus simple, c'est avec un language serveur.
- sinon faire une page1bis, mais un peu lourd
- sinon un javascript pour mettre l'url en fonction d'un paramètre, mais pas 100% compatible:

Code :
  1. <iframe name="vue" src="" ...></iframe>
  2. <script>
  3. window.frames['vue'].src=location.search.substr(1);
  4. </script>


par exemple: href=page1.html?page2.html
un lien vers page1 pour afficher page2
 
Moi j'avais compris que page3 et page1 étaient dans le même frameset.
 
> Faille de sécurité
- pas vraiment, c'en est pas une si les frames sont parentes ou soeurs. À condition que frame!=window.

Reply

Marsh Posté le 24-04-2006 à 14:41:36    

On parle de faire appel tel que :
 
Page A appelle Page 2 dans Page B?
 
En tout cas ça ressemble à une technique de phishing.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 24-04-2006 à 15:08:25    

Citation :

 

On parle de faire appel tel que :
 
Page A appelle Page 2 dans Page B?


C'est bien ça !

Reply

Marsh Posté le 24-04-2006 à 17:14:26    

franssnouf> tu utilise quel language serveur?

Reply

Marsh Posté le 24-04-2006 à 17:28:48    

franssnouf a écrit :

C'est bien ça !


 :non: http://secunia.com/multiple_browse [...] lity_test/
 
Tu verras que ça fonctionne avec IE 6.0 mais pas avec FF, et que c'est une faille de sécurité


Message édité par Shinuza le 24-04-2006 à 17:30:28

---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
Reply

Marsh Posté le 24-04-2006 à 17:51:11    

on parle tous de choses différentes, et le problème n'a toujours pas été défini, je laisse tomber.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed