begin process at 2012 05 29 13:05:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Ouvrir des pages htm dans un iFrame


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ouvrir des pages htm dans un iFrame

vendredi 28 mars 2008 à 20:12:18 | Ouvrir des pages htm dans un iFrame

pat84

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
www.mondomaine.fr , 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>
...
 <iframe id="mFrame" name="mFrame" scrolling="auto" src="main.htm">
 </iframe>

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("<table width='"+largeurMenu+"' border='0' cellspacing='0' cellpadding='0'>");
 for (i=0; i<nbMenu; i++) {
  document.write("<tr>");
  document.write("<td onMouseOver='montreMenu("+i+")' style='cursor:hand' class='menu'>"+menu[i]+"</td>");
  document.write("</tr>");
  document.write("<tr style='display:none' id='ssmenu"+i+"'>");
  document.write("<td>");
   document.write("<table width='"+largeurMenu+"' border='0' cellspacing='0' cellpadding='0'>");
  document.write("<tr>");
  document.write("<td width='2'></td>");
  document.write("</tr>");
  document.write("</table>");
  document.write("<table width='"+largeurMenu+"' border='0' cellspacing='0' cellpadding='0' class='ssmenu'>");
  for (z=0; z<ssmenuNom[i].length; z++) {
   document.write("<tr>");
   document.write("<td onMouseOver='rollOver(this)' onMouseOut='rollOut(this)' onClick='ouvreLien(\""+ssmenuLien[i][z]+"\",\""+ssmenuTarget[i][z]+"\")' style='cursor:hand'>"+ssmenuNom[i][z]+"</td>");
   document.write("</tr>");
  }
  document.write("</table>");
  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.

vendredi 28 mars 2008 à 20:15:29 | Re : Ouvrir des pages htm dans un iFrame

pat84

Re,
Désolé pour le lien mon domaine.fr, je ne savais pas qu'il existait (ce n'est pas de la pub ;-)) !!
vendredi 28 mars 2008 à 20:39:10 | Re : Ouvrir des pages htm dans un iFrame

nicomilville

Membre Club
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 !!!

vendredi 28 mars 2008 à 20:47:15 | Re : Ouvrir des pages htm dans un iFrame

pat84

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.
samedi 29 mars 2008 à 08:57:03 | Re : Ouvrir des pages htm dans un iFrame

bultez

Membre Club
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 ?

                Cordialement            Bul         [mon Site]     [M'écrire]
samedi 29 mars 2008 à 09:15:13 | Re : Ouvrir des pages htm dans un iFrame

nicomilville

Membre Club
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 !!!

samedi 29 mars 2008 à 19:50:58 | Re : Ouvrir des pages htm dans un iFrame

pat84

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.
dimanche 30 mars 2008 à 10:30:11 | Re : Ouvrir des pages htm dans un iFrame

bultez

Membre Club
>>certains fournisseurs encapsulent la page principale dans une frame
    par exemple...   [  ça vient donc (?) de la redirection faite ? ]

                Cordialement            Bul         [mon Site]     [M'écrire]


Cette discussion est classée dans : menu, var, document, array, write


Répondre à ce message

Sujets en rapport avec ce message

lien dans le titre principal d'un menu déroulant dynamique [ par DlaVega ] Bonjour, le script en java-script ci-dessous, me donne un menu vertical avec des sous menus (dynamique sur rollover) mais seul les sous-titres des sou Help menu dynamique [ par TMG Boby ] Salut allJ'ai téléchargé un script de menu dynamique vertical sur l'éditeur javascript, jai modifié quelques lignes de codes mais je n'arrive pas au r probleme avec document.writ() [ par neolin85 ] Bonsoir à tous,Je souhaite construire un menu horizontal sauf que j'ai un soucis avec la méthode write de la classe document.En fait, chaque fois que probleme validation site [ par locs34 ] bonjour, j'ai récupérer le menu qui suit ici (aucune erreur sur validator), je l'ai ensuite intégrer directement dans ma page index.html cela fonction mon sript ne fonctionne pas avec IE [ par Chen34 ] Bonjour, J'ai récupéré un script de menu déroulant sur un site internet, je l'ai adapté à mes besoins. Il fonctionne parfaitement avec Firefox, par-c Disparition d'un sous-menu avec setTimeout() [ par sebalex ] Bonjour à tous, Voici le code d'un menu que j'ai repris et adapté à mes besoins. J'aimerais ajouter la fonction "setTimeout()" pour que le sous-menu probleme avec un script [ par angelimad ] bonjour,je connais pas trop sur javascript, j'ai telechargé un script pour un menu horizentale d'ici, et je l'ai integré dans mon site, il marche tres Trier tableau généré en js [ par way2web ] Bonjour,j'ai créé un script me permettant de générer un tableau html à partir de données stockées dans un array à 2 dimensions. L'affichage est correc editeur menu [ par rosalin83 ] bonsoir,je vx creer un editeur de menu avec javascript voilà ce que j'ai fait mais j'ai trouvé des dificultés au niveau de l'etape suivante plus préci Menu déroulant inopérant sous FF [ par bowtech ] Bonjour à tousTout d'abord, bravo pour votre site de qualité. C'est toujours un plaisir de parcourir les pages.Je suis relativement novice dans la pro


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales