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 13615 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 36
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 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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 36
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 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
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
Rejoignez-nous