JavaScript et iframe

Fermé
Funthib - 12 mai 2005 à 16:54
 sam3000 - 24 avril 2008 à 00:35
Salut à tous, j'ai un problème(Logique, je suis ici, lol)
j'aimerais créer un tableau avec à gauche une liste de lien et à droite, une iframe ouvrant sur la page choisit. Ca je pense pouvoir le faire(quoique c'est pas sur). Le problème, c'est que j'aimerai mettre en gras le lien de gauche qui correspond à la fenêtre de l'iframe. Et j'aurais besoin à la ligne du dessous de mettre d'adapter un descriptif. Mais quand je fais un document.write, il efface tout le code source, alors que j'aimerais qu'il modifie seulement quelque endroit, comment faire?

D'avance merci.

8 réponses

funthib Messages postés 12 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 28 mai 2006 1
12 mai 2005 à 16:56
Voici mon code, après avoir fait quelque modif, mais j'ai pas vraiment chercher pour la mise en forme en fait
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://www.dialeg-v4.dialeg.com/Dialego/upload/fichiers/90.css">
</head>
<body onload="changeService(0)">
<div id="CODE">
<layer id="CODE">
<script LANGUAGE="JavaScript">
var	Titre = new Array(5);
var	Archive = new Array(5);
var	Actualite = new Array(5);

Titre[0]="Service R.H.";
Titre[1]="Titre2";
Titre[2]="Titre2";

Archive[0]="http://calliope.normandie.fr.grpleg.com/Normandie/Quoidene.nsf/Actualites?OpenView&count=5";
Archive[1]="Lien Archive 2";
Archive[2]="Lien Archive 2";

Actualite[0]="http://calliope.normandie.fr.grpleg.com/Normandie/Quoidene.nsf/Standard?OpenView&Start=1&Count=50";

function afficheTab(id){

document.getElementById('CODE').innerHTML="ff";

document.layers["CODE"].write("<table width=100% cellspacing=0 cellpading=0 border=1 bordercolor=#FF3333>\n");

document.getElementById('CODE').innerHTML="\t<tr>\n\t\t<td width=100>\n";
for(i=0;i<5;i++){
	if(i==id){
		document.getElementById('CODE').innerHTML='<b><a href=javascript:changeService('+i+')>'+Titre[i]+'</a></b><br>\n';
	}else{
		document.getElementById('CODE').innerHTML='<a href=javascript:changeService('+i+')>'+Titre[i]+'</a><br>\n';
		}
}
document.getElementById('CODE').innerHTML="</td><td>f</td></tr></table>";
}

function changeService(IdService){
afficheTab(IdService)
document.getElementById('CODE').innerHTML=Titre[IdService];
document.getElementById('CODE').innerHTML="<center><iframe src=";
document.getElementById('CODE').innerHTML="\"http://www.adm-portail.dialeg.com/Dialego/upload/fichiers/72.htm\"";
document.getElementById('CODE').innerHTML="width=161 height=508 marginwidth=3 marginheight=5 frameborder=0 bgcolor=#f5f5f5 scrolling=no>";
document.getElementById('CODE').innerHTML="</iframe></center>";

}
</script>
</layer>
</div>
</body>
</html>
1
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
12 mai 2005 à 17:29
Je ne maitrise pas trop les iframes parce que ça ne marche pas bien sur tous les navigateurs.

Je te propose plutôt d'utiliser un layer à l'aide d'un calque <div></div> que tu remplis de manière adéquate selon le lien surlequel tu cliques.

<div id="layer">
plop
</div>

Tu peux ensuite modifier ce qui se trouve entre ces deux balises (y compris mettre des objets html !) :

document.getElementById('layer).innerHTML=contenudelapage;

Ca se comporte comme une chaine de caractères (opérateur +=...)

Tu peux même utiliser des calques imbriqués, par exemple pour gérer une arborescence...
0
funthib Messages postés 12 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 28 mai 2006 1
13 mai 2005 à 08:13
oki, merci beaucoup, je vais réessayer pour voir, mais hier, il me mettais qu'il ne trouvait pas l'objet ou qu'il faisais reference à un objet null. Pour les iframes, en fait, c'est 2 trucs liée mais malgré tt indépendant, et c'est pour le compte d'une entreprise qui n'utilise qu'internet explorer, c pour ca que j'ai pas trop de problème de compatibilité. B-) Merci beaucoup en tt cas. Si qq'un a d'autre conseil, n'hesitez pas.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
13 mai 2005 à 09:04
C'est peut être parce que tu as plusieurs formulaires dans ta page. Auquel cas il faut spécifier dans quel formlaire derrière lequel tu travailles derrière le "document.". Sinon c'est peut être que tu t'es trompé dans les identifiants.
0
funthib Messages postés 12 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 28 mai 2006 1
13 mai 2005 à 11:51
Ca y'est, j'ai réussit à faire exactement ce que je voulais d'un point de vue présentation, mais j'aimerais savoir comment faire pour précharger mes pages qui seront ouvert dans ma iframe, pour eviter le fond blanc. D'avance merci...
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
13 mai 2005 à 13:58
Il suffit de mettre ta page par defaut entre les deux balises iframe non ?

Bon au risque d'insister sur les div, si fais un truc du genre

<table>
<tr>
<td>
<!--La barre de menu__>
...
</td>
<td>
<div id="pseudoframe">
...
</div>
</td>
</tr>
</table>


Ca te fais un truc comparable et plus standard. Et ca évite les barres de défilement impromptues... Enfin moi je dis ça tu es libre ;) Si tu restes sur les iframe, pense à tester ton site avec plusieurs navigateurs pour voir comment ça se comporte...
0
funthib Messages postés 12 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 28 mai 2006 1
13 mai 2005 à 14:06
En fait, je ne peut pas utiliser un autre moyen que les iframes, car le contenu des pages à afficher en fonction du choix dans les menus, c'est des pages externes ou ne je n'ai pas de pouvoir, notamment sur les liens qui sont relatif :-( , mon site ne sera vu que par des utilisateurs avec IE et Firefox.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
13 mai 2005 à 14:10
tu peut ouvrir les fenetres avec "window.open()" en leurs donnant un identificateur!
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
13 mai 2005 à 14:21
Jète un oeil ici ca devrait t'intéresser ;)

http://forum.hardware.fr/hardwarefr/Programmation/Inclure-HTML-dans-autre-sujet-63005-1.htm

Tu trouveras un lien qui utilises la méthodes que je te propose.
0
funthib Messages postés 12 Date d'inscription lundi 16 août 2004 Statut Membre Dernière intervention 28 mai 2006 1
13 mai 2005 à 14:23
Le truc que j'ai marche bien avec Internet Explorer, donc il n'y aura pas de problème puisque tout les pcs qui peuvent avoir accès à ce site sont tous configuré pareil que le miens( c'est un site interne)
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
13 mai 2005 à 14:25
si tu as les memes contraintes => include n'est géré que par des scripts serveur =>NON pour te répondre
0