Ouvrir des pages htm dans un iFrame

cs_pat84
Messages postés
29
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 mai 2009
- 28 mars 2008 à 20:12
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
- 30 mars 2008 à 10:30
Bonjour à tous,
J'ai récupéré un menu sur le web que j'ai modifié pour mon usage...
Un menu est situé dans la page index.htm et dans cette page index.htm il y a un iFrame.
Le menu contient des liens qui commande l'affichage de pages dans cet iFrame.



Avec le script ci-dessous, il n'y a aucune erreur tant que je travaille en local ou bien avec l'adresse physique du site : pagesperso.orange.fr/mondomaine/index.htm
Si j'appelle index.htm par son adresse virtuelle
, je reçois l'erreur :
'window.top.frames[...].location a la valeur null ou n'est pas un objet'
Le code incriminé, dans la partie javascript, est coloré en rouge plus bas...



J'ai contacté mon fournisseur de domaine, apparemment, il s'en tape :-( car je n'ai aucune réponse.
Pourriez-vous m'aider ?





Le code HTML :

...
   <script language= "javascript" type="text/javascript" >
   generation();
   </script>
...
 
 




Le code javascript :




<script language ="javascript" type="text/javascript" >   
var largeurMenu = 195    
var policeMenu = "Tahoma"   
var taillePoliceMenu = "11"   
var couleurPoliceMenu = "#0000C4" 
var couleurBordure = "#EBEBEB"  
var couleurFond = "#B0D8FF"   
var couleurFond2 = "#F0F8FF"  
var couleurLienRollOver = "#FFFFFF" 
var couleurFondRollOver = "#959EAD" 



var menu = new Array();
menu[0]="Accueil";
menu[1]="blabla";



var ssmenuNom = new Array();
var ssmenuLien = new Array();
var ssmenuTarget = new Array();



ssmenuNom[0] = new Array();
ssmenuLien[0] = new Array();
ssmenuTarget[0] = new Array();



ssmenuNom[0][0] = "Accueil du site";     
ssmenuLien[0][0] = "
http://www.mondomaine.fr/index.htm
";   
ssmenuTarget[0][0] = "_parent";       



ssmenuNom[1] = new Array();
ssmenuLien[1] = new Array();
ssmenuTarget[1] = new Array();



ssmenuNom[1][0] = "Blablabla";
ssmenuLien[1][0] = "
http://www.mondomaine.fr/products/la.htm
";
ssmenuTarget[1][0] = "mFrame";



ssmenuNom[1][1] = "YetBlablabla";
ssmenuLien[1][1] = "
http://www.mondomaine.fr/products/la.htm
";
ssmenuTarget[1][1] = "mFrame";



var nbMenu = menu.length;
var ie=document.all
var ns6=document.getElementById&&!document.all



function montreMenu(num){
 for (var i=0; i<nbMenu; i++) {
  if (ie) {
   objet = document.all["ssmenu"+i]
  } else if (ns6) {
   objet = document.getElementById("ssmenu"+i);
  }
  if (objet.style.display == ""){
   objet.style.display = "none"
  }
 }
 if (ie) {
  objet = document.all["ssmenu"+num]
 } else if (ns6) {
  objet = document.getElementById("ssmenu"+num);
 }
 if (objet.style.display == "none"){
  objet.style.display = "" 
 }
}



function rollOver(lien) {
 lien.style.background = couleurFondRollOver;
 lien.style.color = couleurLienRollOver;
}



function rollOut(lien) {
 lien.style.background = couleurFond2;
 lien.style.color = couleurPoliceMenu;
}



function ouvreLien(url,mode) {
 if (mode == "_blank") {
  window.open(url)
 } else if (mode == "_self")  {
  window.top.location.href = url
 } else {
////////////////// LE PROBLEME EST CI-APRES ///////////////////////////
  window.top.frames[mode].location.href  = url
///////////////////////////////////////////////////////////////////////
 }
}



function generation () {
 document.write("<style type='text/css'>");
 document.write("td.menu {");
 document.write(" font-family: "+policeMenu+";");
 document.write(" font-size: "+taillePoliceMenu+"px;");
 document.write(" font-weight: bold;");
 document.write(" color: "+couleurPoliceMenu+";");
 document.write(" border: 2px solid "+couleurBordure+";");
 document.write(" height: 18px;");
 document.write(" background-color: "+couleurFond+";");
 document.write("}");



 document.write("table.ssmenu {");
 document.write(" font-family: "+policeMenu+";");
 document.write(" font-size: "+taillePoliceMenu+"px;");
 document.write(" color: "+couleurPoliceMenu+";");
 document.write(" border: 1px solid "+couleurBordure+";");
 document.write(" height: 18px;");
 document.write(" background-color: "+couleurFond2+";");
 document.write("}");
 document.write("</style>");
  
 document.write("\");
 for (i=0; i<nbMenu; i++) {
  document.write(\"----
\");
  document.write(\""+menu[i]+", \");
  document.write(\"\");
  document.write(\"----
\");
  document.write(\"");
   document.write("<table width='"+largeurMenu+"' border='0' cellspacing='0' cellpadding='0'>");
  document.write("----
");
  document.write(", </td>\");
  document.write(\"\");
  document.write("
");
  document.write("\");
  for (z=0; z<ssmenuNom[i].length; z++) {
   document.write(\"----
\");
   document.write(\""+ssmenuNom[i][z]+", \");
   document.write(\"\");
  }
  document.write("
");
  document.write("</td>");
  document.write("</tr>");
  document.write("<tr>");
  document.write("<td width='2'></td>");
  document.write("</tr>");
  }
 document.write("</table>");
 }
 </script>

Merci de votre aide.
Patrice.

7 réponses

cs_pat84
Messages postés
29
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 mai 2009

28 mars 2008 à 20:15
Re,
Désolé pour le lien mon domaine.fr, je ne savais pas qu'il existait (ce n'est pas de la pub ;-)) !!
0
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
28 mars 2008 à 20:39
function ouvreLien(url,mode) {
 if (mode == "_blank") {
  window.open(url);
 } else if (mode == "_self")  {
  window.top.location.href = url;
 } else {


////////////////// LE PROBLEME EST CI-APRES ///////////////////////////
  window.top.frames[mode].location.href  = url
///////////////////////////////////////////////////////////////////////
 }
}





Si t'a besoin d'aide, MP !!!
0
cs_pat84
Messages postés
29
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 mai 2009

28 mars 2008 à 20:47
Merci...
Apparemment, ce n'est pas cela qui pose problème.

il n'y a aucune erreur tant que je travaille en local ou bien avec l'adresse physique du site : pagesperso.orange.fr/mondomaine/index.htm
Si j'appelle index.htm par son adresse virtuelle www.mondomaine.fr, je reçois l'erreur :
'window.top.frames[...].location a la valeur null ou n'est pas un objet'

Bonsoir.
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
29 mars 2008 à 08:57
Bonjour,
    ça vient donc (?) de la redirection faite ?
       on ne pointe pas sur la même chose ou test de je ne sais quoi je ne sais où...
    on ne peut pas avoir les adresses réelles, pour regarder ?
<hr />                Cordialement            Bul        
0

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

Posez votre question
nicomilville
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
29 mars 2008 à 09:15
function ouvreLien(url,mode) {
 if (mode == "_blank") {
  window.open(url);
 } else if (mode == "_self")  {
  window.top.location.href = url;
 } else {


////////////////// LE PROBLEME EST CI-APRES ///////////////////////////
  window.top.frames[mode].location.href  = url; //et si je rajoute un point virgule ici es ce que ça marche
///////////////////////////////////////////////////////////////////////
 }
}





Si t'a besoin d'aide, MP !!!
0
cs_pat84
Messages postés
29
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 mai 2009

29 mars 2008 à 19:50
Bonsoir et merci à tous,
Bon, il va falloir que je me mette au boulot car même avec vos remarques, cela ne fonctionne pas mieux. L'erreur est identique.
Je vais essayer de faire une recherche avec quelques lignes de code pour retrouver l'auteur de ce script ;-)

Mais je n'en démords pas; je suis persuadé que ce pb vient du fournisseur de domaine. Il me semble bien que certains fournisseurs encapsulent la page principale dans une frame. C'est cela qui doit "merdoyer"...

Merci quand même.
Bye.
Patrice. 
0
cs_bultez
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
30 mars 2008 à 10:30
>>certains fournisseurs encapsulent la page principale dans une frame
    par exemple...   [  ça vient donc (?) de la redirection faite ? ]
<hr />                Cordialement            Bul        
0