Iframe et taille

Iframe et taille - HTML/CSS - Programmation

Marsh Posté le 20-07-2006 à 11:37:52    

Bonjour.
 
Je m'occupe de la maintenance d'un site web.
Chaque lien s'ouvre dans une iframe possédant une taille bien spécifique.
 
Je dois rajouter une nouvelle page assez haute, comment faire ceci?
Si je met du 100% ca ne fait rien.
 
Il n'y a pas moyen de faire une iframe qui s'auto adapte à la page qu'il doit afficher?
Autre solution : peux etre faire un lien ou on pourrait spécifier la taille de l'iframe dans laquelle la nouvelle page doit s'afficher?
 
Si vous avez des solutions je suis preneur.
 
Cordialement

Reply

Marsh Posté le 20-07-2006 à 11:37:52   

Reply

Marsh Posté le 20-07-2006 à 11:51:11    

il n'est pas possible d'acceder au contenu d'une iframe
seule l'iframe peut acceder au contenu de son parent :D
 
j'ai fait ca pour une demande à la con d'un client :  
sur la page qui est appelée tu fais ça :  

Code :
  1. <body onload="IframeStruct('iframe1');">


dans la page qui contient l'iframe, tu met un id sur l'iframe, ici c'est iframe1

Code :
  1. <iframe id="iframe1">


 
et la fonction Javascript qui va avec :  

Code :
  1. function IframeStruct(iframeid) {
  2. if (!window.parent) return;
  3. var myiframe = window.parent.document.getElementById(iframeid);
  4. if(!myiframe) return;
  5. myiframe.style.height = document.getElementsByTagName("body" )[0].scrollHeight+"px";
  6. }

Reply

Marsh Posté le 20-07-2006 à 12:16:03    

Oula, sous firefox ca fait rien en tout cas.

Reply

Marsh Posté le 20-07-2006 à 12:19:59    

colle le code de chaque page que tu as modifié
car mon coco ce truc fonction sous tous les navigateur (gros projet oblige et lcient con oblige)

Reply

Marsh Posté le 20-07-2006 à 12:22:26    

ok je copie colle.

Code :
  1. <script language="JavaScript" type="text/JavaScript">
  2.       function IframeStruct(iframeid) {
  3.           if (!window.parent) return;
  4.           var myiframe = window.parent.document.getElementById(iframeid);
  5.           if(!myiframe) return;
  6.           myiframe.style.height = document.getElementsByTagName("body" )[0].scrollHeight+"px";
  7.       }
  8. </script>


 
Ensuite

Code :
  1. <body onload="IframeStruct('iframe1');" bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">


 
Et pour finir

Code :
  1. <iframe id="iframe1" scrolling ="no" src="about.htm" height="100%" width="100%" frameborder="0"></iframe>


 
 
Sous IE ca ne s'ouvre meme pas dans la frame!!!!!!!
 
merci


Message édité par masseur le 20-07-2006 à 12:44:54
Reply

Marsh Posté le 20-07-2006 à 13:01:47    

On admet 2 pages
page appelante (celle qui contient la balise iframe)
et page appelée (celle qui est appelée dans l'iframe)
 
 
Dans la page appelant tu met juste un id sur l'iframe, et tu vires ton height:100%
 
dans la page appelée tu colles le code Javascript (ou bien tu fais appel à ce code via un fichier .js joint)
et tu met aussi le onload="IframeStruct('iframe1');" dans cette page.
 
 
et au passage tu me colle tout le code HTML de la page appelante et tout le code html de la page appelée, merci [:petrus75]

Reply

Marsh Posté le 20-07-2006 à 13:33:33    

Je viens de faire les modifications.
 
Ma page appelante.

Code :
  1. <html>
  2. <head>
  3. <title>Masai Leisure</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <link href="css/css%20sheet.css" rel="stylesheet" type="text/css">
  6. <style type="text/css">
  7. <!--
  8. body,td,th {
  9. color: #FFFFFF;
  10. }
  11. a:link {
  12. color: #FFFFFF;
  13. text-decoration: none;
  14. }
  15. a:visited {
  16. text-decoration: none;
  17. color: #FFFFFF;
  18. }
  19. a:hover {
  20. text-decoration: none;
  21. color: #FF0000;
  22. }
  23. a:active {
  24. text-decoration: none;
  25. }
  26. #flash {
  27. }
  28. -->
  29. </style>
  30.    
  31. <script language="JavaScript" type="text/JavaScript">
  32. <!--
  33. function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  34.   if (init==true) with (navigator) {if ((appName=="Netscape" )&&(parseInt(appVersion)==4)) {
  35.     document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  36.   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
  37. }
  38. MM_reloadPage(true);
  39. function MM_openBrWindow(theURL,winName,features) { //v2.0
  40.   window.open(theURL,winName,features);
  41. }
  42. //-->
  43. </script>
  44. </head>
  45. <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  46. <div id="Layer1" style="position:absolute; left:529px; top:479px; width:365px; height:35px; z-index:1"></div>
  47. <table width="100%" bgcolor="#DA251D" height="100%" border="0" cellpadding="0" cellspacing="0">
  48.   <tr>
  49.     <td>
  50. <table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/Website_01.gif">
  51.   <tr>
  52.     <td>
  53. <table width="938" height="496" border="0" align="center" cellpadding="0" cellspacing="0" id="Table_01">
  54.         <tr>
  55.           <td width="53" height="495" rowspan="8"></td>
  56.           <td colspan="7" background="Images/Website_24.gif"><div id="flash"><center><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="786" height="114">
  57.         <param name="movie" value="banniere.swf">
  58.         <param name="quality" value="high">
  59.         <embed src="banniere.swf" width="786" height="114" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>
  60.           </center>
  61.           </div></td>
  62.           <td width="71" height="495" rowspan="8">&nbsp; </td>
  63.         </tr>
  64.         <tr>
  65.    <td colspan="2">
  66.   <p><img src="images/Website_02.gif" alt="" width="272" height="33"></p>   </td>
  67.  <td colspan="3">
  68.   <img src="images/Website_03.gif" width="271" height="33" alt=""></td>
  69.  <td colspan="2">
  70.   <img src="images/Website_04.gif" width="272" height="33" alt=""></td>
  71.    </tr>
  72. <tr>
  73.  <td width="16">
  74.   <img src="images/Website_06.gif" width="16" height="27" alt=""></td>
  75.          <td height="27" colspan="5" background="images/Website_07.gif" class="menu-text"><font color="#FFFFFF"><font color="#FFFFFF"> <a href="about.htm" target="iframe">accueil</a>  <font color="#FF0000">|</font></font> <a href="aboutus.html" target="iframe">qui sommes-nous?</a> <font color="#FF0000">|</font> <a href="news.html" target="iframe">news</a> <font color="#FF0000">|</font>
  76.                     <a href="http://france.masai-products.com/fr/quad/" target="_blank">quads</a> <font color="#FF0000">| </font><a href="http://france.masai-products.com/fr/dirtbikes/" target="_blank">Dirtbikes</a> <font color="#FF0000">|</font> <a href="funstuff.html" target="iframe">espace “fun”</a>  <font color="#FF0000">|
  77.                   </font><a href="http://www.tribu-masai.com ">tribu</a> <font color="#FFFFFF"><font color="#FF0000">|</font></font><a href="contactus.html" target="iframe"> contactez-nous
  78. </a></font></td>
  79.          <td width="18">
  80.   <img src="images/Website_08.gif" width="18" height="27" alt=""></td>
  81. </tr>
  82. <tr>
  83.  <td colspan="2">
  84.   <img src="images/Website_09.gif" width="272" height="35" alt=""></td>
  85.  <td colspan="3">
  86.   <img src="images/Website_10.gif" width="271" height="35" alt=""></td>
  87.  <td colspan="2">
  88.   <img src="images/Website_11.gif" width="272" height="35" alt=""></td>
  89. </tr>
  90. <tr>
  91.  <td>   <img src="images/Website_12.gif" width="16" height="292" alt=""></td>
  92.          <td height="292" colspan="5"><iframe  id="iframe1" scrolling ="no" src="about.htm" frameborder="0"></iframe>    </td>
  93.  <td>
  94.   <img src="images/Website_14.gif" width="18" height="292" alt=""></td>
  95. </tr>
  96. <tr>
  97.  <td colspan="2">
  98.   <img src="images/Website_15.gif" width="272" height="42" alt=""></td>
  99.  <td colspan="3">
  100.   <img src="images/Website_16.gif" width="271" height="42" alt=""></td>
  101.  <td colspan="2">
  102.   <img src="images/Website_17.gif" width="272" height="42" alt=""></td>
  103. </tr>
  104. <tr>
  105.  <td rowspan="2">
  106.   <img src="images/Website_18.gif" width="16" height="66" alt=""></td>
  107.          <td height="23" colspan="5" background="images/Website_19.gif">
  108.                   <div align="right" class="menu-text"><font color="#FFFFFF"><font color="#FFFFFF"><font color="#FFFFFF"> <a href="revendeurs.php" target="iframe1">soutenez la tribu masai</a>  <font color="#FF0000">|</font></font> <a href="dealernetwork.html" target="iframe">r&eacute;seau de distributeurs agr&eacute;es</a>  <font color="#FF0000">|</font> <a href="sitemap.html" target="iframe">plan du site</a></font></font></div></td>
  109.  <td rowspan="2">
  110.   <img src="images/Website_20.gif" width="18" height="66" alt=""></td>
  111. </tr>
  112. <tr>
  113.  <td colspan="2">
  114.   <img src="images/Website_21.gif" width="260" height="43" alt=""></td>
  115.  <td width="261">
  116.   <img src="images/Website_22.gif" width="261" height="43" alt=""></td>
  117.  <td colspan="2">
  118.   <img src="images/Website_23.gif" alt="" width="260" height="43" onload="MM_openBrWindow('popup.html','','width=330,height=330')"></td>
  119. </tr>
  120. <tr>
  121.  <td>
  122.   <img src="images/spacer.gif" width="53" height="1" alt=""></td>
  123.  <td>
  124.   <img src="images/spacer.gif" width="16" height="1" alt=""></td>
  125.  <td width="256">
  126.   <img src="images/spacer.gif" width="256" height="1" alt=""></td>
  127.  <td width="4">
  128.   <img src="images/spacer.gif" width="4" height="1" alt=""></td>
  129.  <td>
  130.   <img src="images/spacer.gif" width="261" height="1" alt=""></td>
  131.  <td width="6">
  132.   <img src="images/spacer.gif" width="6" height="1" alt=""></td>
  133.  <td width="254">
  134.   <img src="images/spacer.gif" width="254" height="1" alt=""></td>
  135.  <td>
  136.   <img src="images/spacer.gif" width="18" height="1" alt=""></td>
  137.  <td>
  138.   <img src="images/spacer.gif" width="52" height="1" alt=""></td>
  139. </tr>
  140. </table>
  141. </td>
  142.   </tr>
  143. </table>
  144. </td>
  145.   </tr>
  146. </table>
  147. </body>
  148. </html>


 
et la page qui doit apparaitre dans la frame
 

Code :
  1. <html>
  2. <head>
  3. <title>REVENDEURS DERBI</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <meta http-equiv="content-language" content="fr, ca, ch, be">
  6. <meta name="language" content="fr, ca, ch, be">
  7. <meta name="description" content="Derbi, une gamme complète de scooters, motos et quads de 50, 125, 250 et 660 cm3: scooter Atlantis, scooter GP1 Racing, moto Senda R, moto Senda SM, moto GPR Nude, moto GPR Racing, moto Mulhacén et quad DXR.
  8. ">
  9. <meta name="Keywords" content="motos, moto, motos, derbi-france, GP1 racing, atlantis 27, atlantis 4t, Gp max 125, gp max 250, senda sm drd pro, senda sm drd edition, senda sm drd racing, senda sm x-treme, senda sm x-race, senda drd pro, senda r drd racing, gpr nude, gpr racing, senda r 125, senda sm 125, dirt boy 10, dirt kid 12, quad, drx 250, mini moto, mini motos, revendeurs derbi">
  10. <meta name="Revisit-after" content="15 days">
  11. <meta name="Identifier-URL" content="http://www.derbi-france.fr">
  12. <link href="css/css.css" rel="stylesheet" type="text/css">
  13. <link href="css/style.css" rel="stylesheet" type="text/css">
  14. <link href="css/css%20sheet.css" rel="stylesheet" type="text/css">
  15. <style type="text/css">
  16. <!--
  17. body,td,th {
  18. color: #FFFFFF;
  19. }
  20. a:link {
  21. color: #FFFFFF;
  22. text-decoration: none;
  23. }
  24. a:visited {
  25. text-decoration: none;
  26. color: #FFFFFF;
  27. }
  28. a:hover {
  29. text-decoration: none;
  30. color: #FF0000;
  31. }
  32. a:active {
  33. text-decoration: none;
  34. }
  35. #flash {
  36. }
  37. -->
  38. </style>
  39. <script type="text/javascript" src="infobulle.js"></script>
  40. <script language="Javascript" type="text/javascript">
  41. function verif_nombre(champ)
  42. {
  43. var chiffres = new RegExp("[0-9\]" );
  44. var verif;
  45. for(x = 0; x < champ.value.length; x++)
  46. {
  47. verif = chiffres.test(champ.value.charAt(x));
  48. if(verif == false){champ.value = champ.value.substr(0,x) + champ.value.substr(x+1,champ.value.length-x+1); x--;}
  49. }
  50. }
  51. </script>
  52. <script language="JavaScript">
  53. function sendData(data, page, method)
  54. {
  55.  if(document.all)
  56.  {
  57.   //Internet Explorer
  58.   var XhrObj = new ActiveXObject("Microsoft.XMLHTTP" ) ;
  59.  }
  60.  else
  61.  {
  62.      //Mozilla
  63.   var XhrObj = new XMLHttpRequest();
  64.  }
  65.  var content = document.getElementById("contenu" );
  66.   if(data == 'null')
  67.   {
  68.    XhrObj.open("GET", page, true);
  69.   }
  70.   else
  71.   {
  72.    XhrObj.open("GET", page+"?"+data, true);
  73.   }
  74.  XhrObj.onreadystatechange = function()
  75.  {
  76.   if (XhrObj.readyState == 4 && XhrObj.status == 200)
  77.    content.innerHTML = XhrObj.responseText ;
  78.  }
  79.   XhrObj.send(null);
  80. }
  81. </script>
  82.   <script language="JavaScript" type="text/JavaScript">
  83.  
  84.      
  85.  
  86.            function IframeStruct(iframeid) {
  87.  
  88.  
  89.                if (!window.parent) return;
  90.  
  91.  
  92.                var myiframe = window.parent.document.getElementById(iframeid);
  93.  
  94.      
  95.  
  96.                if(!myiframe) return;
  97.  
  98.  
  99.                myiframe.style.height = document.getElementsByTagName("body" )[0].scrollHeight+"px";
  100.  
  101.      
  102.  
  103.            }
  104.  
  105.       </script>
  106. <style type="text/css">
  107. <!--
  108. body {
  109. background-image: url(images_home/fondderbi.jpg);
  110. background-repeat: repeat-x;
  111. }
  112. -->
  113. </style></head>
  114. <body onload="IframeStruct('iframe1');" bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  115. <table width="990" border="0" cellpadding="0" cellspacing="0" background="fond_revendeur.jpg">......


 
Et malgrès tout je n'y arrive toujours pas.


Message édité par masseur le 20-07-2006 à 13:34:48
Reply

Marsh Posté le 20-07-2006 à 14:17:42    

vu la gueule de merde de ta page tu m'etonnes que ca marche pas [:moule_bite]
tout est fixé en hauteur dans ta page [:moule_bite]
 
et quand bien même ca devrait fonctionner sous IE
 
j'opterai pour un javascript de merde mal branlé qui ferait une erreur js dans ta page et du coup mon JS ne se lancerait pas [:petrus75]

Reply

Marsh Posté le 20-07-2006 à 14:20:37    

\o/ Wéééééh, des iframes, du javascript, des xmlHttpRequest ( dans les iframes )... comment s'trop bien le web2.0  :cry:

Message cité 1 fois
Message édité par anapajari le 20-07-2006 à 14:20:59
Reply

Marsh Posté le 20-07-2006 à 14:23:04    

anapajari a écrit :

\o/ Wéééééh, des iframes, du javascript, des xmlHttpRequest ( dans les iframes )... comment s'trop bien le web2.0  :cry:


web 0.2 [:aloy]

Reply

Marsh Posté le 20-07-2006 à 14:23:04   

Reply

Marsh Posté le 20-07-2006 à 14:58:03    

gatsu35 a écrit :

vu la gueule de merde de ta page tu m'etonnes que ca marche pas [:moule_bite]
tout est fixé en hauteur dans ta page [:moule_bite]
 
et quand bien même ca devrait fonctionner sous IE
 
j'opterai pour un javascript de merde mal branlé qui ferait une erreur js dans ta page et du coup mon JS ne se lancerait pas [:petrus75]


 
 Il y a que ce code la qu iagit sur la fame

Code :
  1. <td height="292" colspan="5">


 
En effet si je met 600 la frame s'agrandi à 600 pxl.
Il y a donc juste cette valeur qui bloque.
 
Mais même si je la met à 100% ca foire.
Pffffffff ca saoule!!!!!!!!!!!!!
 
Merci

Reply

Marsh Posté le 20-07-2006 à 15:22:42    

seul moyen virer les iframe et faire des div avec overflow si tu tiens aux ascenseurs et là tout s'adapte au contenu niveau taille

Reply

Marsh Posté le 20-07-2006 à 15:44:55    

sinon tu vires ta putain de hauteur fixée et tu nous emmerde pas [:petrus75]

Reply

Marsh Posté le 21-07-2006 à 07:54:13    

gatsu35 a écrit :

sinon tu vires ta putain de hauteur fixée et tu nous emmerde pas [:petrus75]


 
Laquelle de hauteur précise stp.
J'ai essayé de les virer ces putains de hauteur fixe mais ca change rien.
 
Ca me rends dingue que de voir de si grosses boites faire des sites comme des merdes.
Moi c'est du xhtml strict avec des div à bloc.
 
Mais la je ne peux pas me permettre de remodifier tout le site.

Reply

Marsh Posté le 21-07-2006 à 09:21:44    

masseur a écrit :

Laquelle de hauteur précise stp.
J'ai essayé de les virer ces putains de hauteur fixe mais ca change rien.
 
Ca me rends dingue que de voir de si grosses boites faire des sites comme des merdes.
Moi c'est du xhtml strict avec des div à bloc.
 
Mais la je ne peux pas me permettre de remodifier tout le site.


Bon ok bienvenue à toi frère du travail propre.
 
Ben tu leur dit clairement ceci :  
Votre site est fait d'une manière tellement fixe, que c'est limite impossible de faire ce que vous voulez faire, sans refaire entièrement la page appelante de l'iframe.
Et de plus si votre site a du contenu dynamique, cela est impensable d'avoir un layout aussi fixe.

Reply

Marsh Posté le 21-07-2006 à 12:56:36    

J'ai refait une page à part, en faisant à ma manière.
VOila c'est reglé.
Merci Gatsu35 pour ton aide.

Reply

Sujets relatifs:

Leave a Replay

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