Iframe ?

Bonjour,

Je suis en train de réaliser un site et j’aimerai si possible éviter
l’utilisation d’IFRAME.

La seule réelle utilité que j’ai à me servir d’une iframe, c’est simplement
par rapport à l’animation Flash qui permet la navigation générale. Sans
IFRAME, l’animation se recharge à chaque nouvelle ouverture de page, ce qui
fait un effet de clignotement qui n’est pas terrible d’un point de vue
esthétique.

Pour le moment, j’ai simplement trouvé, la solution de l’IFRAME

En me rendant sur ce site http://www.katiemelua.com/index2.html et en
enregistrant la source, je me suis rendu compte qu’il utilisait également
des iframes, mais que celle ci ne créait pas d’ascenseur et était extensible
automatiquement. J’ai essayé de reproduite le même code, sans obtenir le
résultat voulu.

Est-ce que quelqu’un connait-il une petite astuce pour y arriver à quelque
chose de semblable ?

Voici globalement les zones de mon site
http://arnaudcouturier.free.fr/zones.gif

Je souhaite donc rendre la zone de texte extensible en fonction de la
longueur des pages sans avoir l’apparition d’ascenseur et s’en avoir mon
animation Flash qui s’exécute et clignote à chaque ouverture de page

Merci beaucoup

Bonjour, bienvenue sur les forums de Clubic :slight_smile:

Je te prierai de mettre le langage informatique dans le titre, tel que requis par la charte du forum programmation - pour une meilleure compréhension les uns des autres.

A lire :
http://www.clubic.com/forum/charte-du-foru…on-t306797.html

Pour éditer:
Suffit de cliquer sur ce bouton, dans ton message : http://www.clubic.com/forum/style_images/persoclubic/editer.gif

Merci et bon courage pour ton problème :jap:

Bonjour,
puisque tu as une page d’exemple, recopie bien les atribut (border etc) de l’iframe, sinon, j’utilisais ça il y a quelque temps:

HTML
<style type="text/css">

.unstyle {
top: 0px;
left: 0px;
width: 100%;
height: 100%;
margin: 0;
overflow: auto;
}

</style>
<div id="idblablabla">
<iframe class="unstyle" src="http://www.clubic.com" frameborder=0>
</div>

et pourquoi pas un peu d’AJAX ? ça ne réactualises que le contenu, donc pas le menu, et tu évites les iframe.

Bonjour,

Merci pour vos réponses

J’ai résolu en grande partie mon problème, en intégrant une iframe qui s’ajuste en fonction du contenu voici le résultat sur ce site www.ekotec.fr.

Cependant, il reste un hic qui se produit régulièrement sous IE (très rarement, il n’y a pas vraiment ce problème, c’est étrange). En fait, lorsque l’on clique sur un lien, la zone comporant le contenu s’agrandit, elle s’aggrandit de clic en clic :slight_smile: Je n’ai pas du tout de problème sous Firefox, que faire pour y remédier svp ? Voici mon code

Merci pour votre aide

DANS LA PAGE CONTENANT L’IFRAME

DANS LES PAGES DEVANT ETRE AFFICHES DANS LES IFRAMES

J’ai également attaché à ma page principal deux fichiers javascript qui comportent les codes suivants

ieupdate.js
theObjects = document.getElementsByTagName(“object”);
for (var i = 0; i < theObjects.length; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}

iframessi.js
/***********************************************

  • IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
  • Visit DynamicDrive.com for hundreds of original DHTML scripts
  • This notice must stay intact for legal use
    ***********************************************/

//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: [“myframe1”, “myframe2”] or [“myframe”] or [] for none:
var iframeids=[“maincontent”]

//Should script hide iframe from browsers that don’t support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide=“no”

var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf(“Firefox”)).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide==“no”){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display=“block”
}
}
}

function resizeIframe(frameid){
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display=“block”
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener(“load”, readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent(“onload”, readjustIframe) // Bug fix line
currentfr.attachEvent(“onload”, readjustIframe)
}
}
}

function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}

if (window.addEventListener)
window.addEventListener(“load”, resizeCaller, false)
else if (window.attachEvent)
window.attachEvent(“onload”, resizeCaller)
else
window.onload=resizeCaller