Comment puis-je changer la taille de l'iframe à partir de l'intérieur?
Je suis en développement avec jquery et je suis tombé avec le problème suivant: j'ai ajouté un IFrame à l'intérieur de la page principale et je veux re de la taille de l'intérieur. J'ai essayé quelques idées, mais sans succès.
Voici mon code:
index.html
<html>
<head>
<title>Index</title>
</head>
<body>
<iframe id="myframe" src="frame.html" width="100px" height="100px"></frame>
</body>
</html>
frame.html
<html>
<head>
<title>IFrame</title>
<script>
document.width = 500;
document.height = 500;
</script>
</head>
<body>
<h2>My IFrame</h2>
</body>
</html>
Vous devez vous connecter pour publier un commentaire.
Lorsque vous créez un
IFRAME
le navigateur ajoute automatiquement un'window'
objet de l'IFRAME à l'intérieur de la'window'
objet de la page principale.Vous avez besoin de changer la taille de la
IFRAME
au lieu de la taille du document.Essayez ce code:
Pour
JavaScript
:Et pour
jQuery
:Uncaught SecurityError: Blocked a frame with origin "http://anotherwebsite.com" from accessing a frame with origin "http://mywebsite.com". Protocols, domains, and ports must match.
Si les deux pages sont sur le même domaine (ou même sous-domaine si vous définissez le document.de domaine peut-être, n'a pas le tester), vous pouvez simplement définir à partir de javascript (jQuery):
HTML:
Si vous les pages sont dans des domaines différents, une solution consisterait à ajouter un écouteur d'événement dans la page qui appelle l'iFrame (crédits de Marty Mulligan):
HTML:
et de déclencher à partir du contenu de l'iFrame (frame.html):
HTML:
Une autre manière, en utilisant des
Javascript
DÉMO JSFIDDLE