Pb avec <iframe height="100%"> sou
Fermé
TheNox
Messages postés
59
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
17 juin 2005
-
16 avril 2005 à 13:00
Masterjoa Messages postés 92 Date d'inscription jeudi 30 décembre 2010 Statut Membre Dernière intervention 21 octobre 2012 - 8 sept. 2011 à 19:50
Masterjoa Messages postés 92 Date d'inscription jeudi 30 décembre 2010 Statut Membre Dernière intervention 21 octobre 2012 - 8 sept. 2011 à 19:50
A voir également:
- Iframe height 100 not working
- Formate pour taxer client 100€ ✓ - Forum Consommation & Internet
- Signal cable not connected ✓ - Forum Ecran
- Formaté mais pas de connexion Internet ? ✓ - Forum Matériel & Système
- 100 euros en lettre - Forum Réseaux sociaux
- Processeur utilisé a 100 en jeu ✓ - Forum Windows 10
6 réponses
Hi
Déjà c'est pas un script! et de plus sur IE sa ne marche pas, malheureusement les iframes ne sont pas extensible a moin de faire un javascript mais j'y arrive pas :S
si quelqu'un saurai comment faire?? (pas de php)
Merci
Déjà c'est pas un script! et de plus sur IE sa ne marche pas, malheureusement les iframes ne sont pas extensible a moin de faire un javascript mais j'y arrive pas :S
si quelqu'un saurai comment faire?? (pas de php)
Merci
berzek
Messages postés
2
Date d'inscription
jeudi 14 août 2008
Statut
Membre
Dernière intervention
18 août 2008
8
Modifié le 4 avril 2017 à 14:41
Modifié le 4 avril 2017 à 14:41
Voici les solutions que je te propose suivant le navigateur et le domaine (sécurité) dans lequel s'execute ton code..
En espérant que tu trouves ton bonheur ou que ca te mette sur la bonne voie ..
@+
---------------------------------------
tu indiques des height et width en dure, ex : <iframe height=800 (au lieu de height=100%)
- marche pas sous firefox malheureusement
---------------------------------------
Si tu ne connais encore la taille que le contenu de ta frame prendra, tu peux aussi le définir en dure a partir de ta frame plutot qu'a partir du parent...
code du PARENT (dans le body) :
<iframe src="/sponsors/sponsorsx.htm" id="sponsorFrame" mame="sponsorFrame" scrolling="auto" frameborder="0"></iframe>
code dans la page appellée par la FRAME (avant le <body> de la page appellée dans l'iframe) :
<script type="text/javascript">
maframe = parent.document.getElementById('sponsorFrame');// frame in the parent
function ExecuteOnload()
{
alert("Apres ce message, l'Iframe va s'agrandir..");
maframe.style.height = "800";
maframe.style.width = "800";
}
</script>
<body onload="ExecuteOnload();">
---------------------------------------
code du PARENT (dans le body) :
<iframe src="/sponsors/sponsorsx.htm" id="sponsorFrame" mame="sponsorFrame" width="100%" scrolling="auto" frameborder="0"></iframe>
code dans la page appellée par la FRAME (avant le <body> de la page appellée dans l'iframe) :
<script type="text/javascript">
maframe = parent.document.getElementById('sponsorFrame');// frame in the parent
function resizeIframe() {
var height = parent.document.documentElement.clientHeight;//document.documentElement.clientHeight;
height -= maframe.offsetTop;
height -= 20; /* whatever you set your body bottom margin/padding to be */
maframe.style.height = height +"px";
};
maframe.onload = resizeIframe;
window.onresize = resizeIframe;
</script>
REM ! Attention cpdt, il faut également que parent et frame cible soit soit sous le meme domaine sinon il peut y avoir un "access denied" qui s'opere lors d'un crossdomaine et empeche alors l'execution normal du code
(https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/?redirectedfrom=MSDN
---------------------------------------
Code à inclure directement dans la page parent dans le body
<body onload="resizeIframe();">
<script type="text/javascript">
function resizeIframe()
{
maframe = document.getElementById('sponsorFrame');// frame in the parent
maframe.style.height = maframe.contentWindow.document.body.scrollHeight+"px"; //changement de la hauteur
maframe.style.width = maframe.contentWindow.document.body.scrollWidth+"px"; //changement de la largeur
}
</script>
<iframe src="/sponsors/sponsorsx.htm" id="sponsorFrame" name="sponsorFrame" WIDTH="100%" HEIGHT="100%" frameborder="0" scrolling="no"></iframe>
REM ! Attention cpdt, il faut également que parent et frame cible soit soit sous le meme domaine sinon il peut y avoir un "access denied" qui s'opere lors d'un crossdomaine et empeche alors l'execution normal du code
(https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/?redirectedfrom=MSDN
REM . une maniere de contourner le pb de sécurité précédent et avoir un code qui fonctionne a la fois dans ie et firefox serait de réécrire en dure la fonction précédente comme ceci :
function resizeIframe()
{
maframe = document.getElementById('sponsorFrame');// frame in the parent
maframe.style.height = "800";//maframe.contentWindow.document.body.scrollHeight+"px"; //changement de la hauteur
maframe.style.width = "100%";//maframe.contentWindow.document.body.scrollWidth+"px"; //changement de la largeur
}
En espérant que tu trouves ton bonheur ou que ca te mette sur la bonne voie ..
@+
---------------------------------------
- solution 1 (uniquement sous ie et pas firefox)
tu indiques des height et width en dure, ex : <iframe height=800 (au lieu de height=100%)
- marche pas sous firefox malheureusement
---------------------------------------
- solution 2 (uniquement sous ie)
Si tu ne connais encore la taille que le contenu de ta frame prendra, tu peux aussi le définir en dure a partir de ta frame plutot qu'a partir du parent...
code du PARENT (dans le body) :
<iframe src="/sponsors/sponsorsx.htm" id="sponsorFrame" mame="sponsorFrame" scrolling="auto" frameborder="0"></iframe>
code dans la page appellée par la FRAME (avant le <body> de la page appellée dans l'iframe) :
<script type="text/javascript">
maframe = parent.document.getElementById('sponsorFrame');// frame in the parent
function ExecuteOnload()
{
alert("Apres ce message, l'Iframe va s'agrandir..");
maframe.style.height = "800";
maframe.style.width = "800";
}
</script>
<body onload="ExecuteOnload();">
---------------------------------------
- solution 3 (marche sous ie ET FIREFOX !) :
code du PARENT (dans le body) :
<iframe src="/sponsors/sponsorsx.htm" id="sponsorFrame" mame="sponsorFrame" width="100%" scrolling="auto" frameborder="0"></iframe>
code dans la page appellée par la FRAME (avant le <body> de la page appellée dans l'iframe) :
<script type="text/javascript">
maframe = parent.document.getElementById('sponsorFrame');// frame in the parent
function resizeIframe() {
var height = parent.document.documentElement.clientHeight;//document.documentElement.clientHeight;
height -= maframe.offsetTop;
height -= 20; /* whatever you set your body bottom margin/padding to be */
maframe.style.height = height +"px";
};
maframe.onload = resizeIframe;
window.onresize = resizeIframe;
</script>
REM ! Attention cpdt, il faut également que parent et frame cible soit soit sous le meme domaine sinon il peut y avoir un "access denied" qui s'opere lors d'un crossdomaine et empeche alors l'execution normal du code
(https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/?redirectedfrom=MSDN
---------------------------------------
- solution 4 (marche sous ie ET FIREFOX !) :
Code à inclure directement dans la page parent dans le body
<body onload="resizeIframe();">
<script type="text/javascript">
function resizeIframe()
{
maframe = document.getElementById('sponsorFrame');// frame in the parent
maframe.style.height = maframe.contentWindow.document.body.scrollHeight+"px"; //changement de la hauteur
maframe.style.width = maframe.contentWindow.document.body.scrollWidth+"px"; //changement de la largeur
}
</script>
<iframe src="/sponsors/sponsorsx.htm" id="sponsorFrame" name="sponsorFrame" WIDTH="100%" HEIGHT="100%" frameborder="0" scrolling="no"></iframe>
REM ! Attention cpdt, il faut également que parent et frame cible soit soit sous le meme domaine sinon il peut y avoir un "access denied" qui s'opere lors d'un crossdomaine et empeche alors l'execution normal du code
(https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/?redirectedfrom=MSDN
REM . une maniere de contourner le pb de sécurité précédent et avoir un code qui fonctionne a la fois dans ie et firefox serait de réécrire en dure la fonction précédente comme ceci :
function resizeIframe()
{
maframe = document.getElementById('sponsorFrame');// frame in the parent
maframe.style.height = "800";//maframe.contentWindow.document.body.scrollHeight+"px"; //changement de la hauteur
maframe.style.width = "100%";//maframe.contentWindow.document.body.scrollWidth+"px"; //changement de la largeur
}
lothi
Messages postés
4
Date d'inscription
dimanche 9 décembre 2007
Statut
Membre
Dernière intervention
11 décembre 2008
11 déc. 2008 à 10:15
11 déc. 2008 à 10:15
Vraiment super merci merci beaucoup berzek :)
Rappel du code JS de berzek :
function resizeIframe()
{
maframe = document.getElementById('sponsorFrame');// frame in the parent
maframe.style.height = "800";//maframe.contentWindow.document.body.scrollHeight+"px";
//changement de la hauteur
maframe.style.width = "100%";//maframe.contentWindow.document.body.scrollWidth+"px";
//changement de la largeur
}
On peut faire exactement pareil sans connaître une once de JS ! Ici, tu manipules le style, donc on peut tout aussi bien assigner l'extension .css à notre fichier JS et, sans oublier d'ajouter ça au header de la page HTML :
<link rel="stylesheet" type="text/css" media="screen" title="Style iframe" href="style.css" />
on peut remplir le fichier style.css avec ça :
#sponsorFrame
{
width: 100%;
height: 100%;
}
Voilà voilà ! En espérant que ça marche (eh oui, je ne l'ai pas testé...), mais normalement aucun problème, sinon celui d'une potentielle sécurité sur Firefox qui empêcherait le height: 100%; pendant le chargement seulement...
function resizeIframe()
{
maframe = document.getElementById('sponsorFrame');// frame in the parent
maframe.style.height = "800";//maframe.contentWindow.document.body.scrollHeight+"px";
//changement de la hauteur
maframe.style.width = "100%";//maframe.contentWindow.document.body.scrollWidth+"px";
//changement de la largeur
}
On peut faire exactement pareil sans connaître une once de JS ! Ici, tu manipules le style, donc on peut tout aussi bien assigner l'extension .css à notre fichier JS et, sans oublier d'ajouter ça au header de la page HTML :
<link rel="stylesheet" type="text/css" media="screen" title="Style iframe" href="style.css" />
on peut remplir le fichier style.css avec ça :
#sponsorFrame
{
width: 100%;
height: 100%;
}
Voilà voilà ! En espérant que ça marche (eh oui, je ne l'ai pas testé...), mais normalement aucun problème, sinon celui d'une potentielle sécurité sur Firefox qui empêcherait le height: 100%; pendant le chargement seulement...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour, j'ai insserer une iframe sur ma page de mon site mai le soucies ces que ya deux barres pour descendre en bas de page une sur l'iframe ajouter et l'autre celle de ma page de mon site je ne ces pas comment faire pour retirer celle de l'iframe si quelqu'un pouvait m'aider sa serait cool merci.
Mon iframe :
<iframe src="https://i-services.com/membres/annonces/annonces.php?uid=164781&sid=112119" width="700" height="800" frameborder="0" scrolling="auto"><a href="https://i-services.com/membres/annonces/annonces.php?uid=164781&sid=112119">Petites Annonces</a></iframe>
Déposez gratuitement vos annonces WWW.AUTOPASSION08.FR
Adresse mail : autopassion08@hotmail.fr
Pour ceux qui peuve m'aider ajouter moi sur msn merci.
Mon iframe :
<iframe src="https://i-services.com/membres/annonces/annonces.php?uid=164781&sid=112119" width="700" height="800" frameborder="0" scrolling="auto"><a href="https://i-services.com/membres/annonces/annonces.php?uid=164781&sid=112119">Petites Annonces</a></iframe>
Déposez gratuitement vos annonces WWW.AUTOPASSION08.FR
Adresse mail : autopassion08@hotmail.fr
Pour ceux qui peuve m'aider ajouter moi sur msn merci.
Masterjoa
Messages postés
92
Date d'inscription
jeudi 30 décembre 2010
Statut
Membre
Dernière intervention
21 octobre 2012
3
8 sept. 2011 à 19:50
8 sept. 2011 à 19:50
Pour ceux qui passent ici,
Il suffit de mettre un height:100%; à l'iframe et définir une hauteur aux éléments parents (ne pas oublier la balise html).
Et le tout sans js!!!
Il suffit de mettre un height:100%; à l'iframe et définir une hauteur aux éléments parents (ne pas oublier la balise html).
Et le tout sans js!!!