Toutes les solutions proposées jusqu'à présent ne prévoient qu'un redimensionnement unique. Vous mentionnez que vous voulez pouvoir redimensionner l'iFrame après que le contenu ait été modifié. Pour ce faire, vous devez exécuter une fonction à l'intérieur de l'iFrame (une fois le contenu modifié, vous devez déclencher un événement pour indiquer que le contenu a changé).
J'ai été bloqué avec cela pendant un certain temps, car le code à l'intérieur de l'iFrame semblait limité au DOM à l'intérieur de l'iFrame (et ne pouvait pas éditer l'iFrame), et le code exécuté à l'extérieur de l'iFrame était bloqué avec le DOM à l'extérieur de l'iFrame (et ne pouvait pas prendre un événement venant de l'intérieur de l'iFrame).
La solution est venue de la découverte (avec l'aide d'un collègue) que l'on peut indiquer à jQuery quel DOM utiliser. Dans ce cas, le DOM de la fenêtre parent.
En tant que tel, un code tel que celui-ci fait ce dont vous avez besoin (lorsqu'il est exécuté à l'intérieur de l'iFrame) :
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery("#IDofControlFiringResizeEvent").click(function () {
var frame = $('#IDofiframeInMainWindow', window.parent.document);
var height = jQuery("#IDofContainerInsideiFrame").height();
frame.height(height + 15);
});
});
</script>
0 votes
Angular iFrame Auto-Height : gitlab.com/reduardo7/angular-iframe-auto-height
0 votes
La réponse acceptée ne fonctionne pas. Essayez stackoverflow.com/a/31513163/482382