Cet article décrit la solution de hauteur adaptative multi-navigateurs pour Iframe sous forme d'exemples, ce qui est d'une grande valeur pratique. Partagez-le avec tout le monde pour votre référence. La méthode spécifique est la suivante :
Cette méthode utilise jQuery, donc jQuery doit être introduit dans la page src de l'iframe.
La page parent est relativement simple et contient principalement le code suivant :
<iframe id="if1" scrolling="no" src="2.html"></iframe>
Le code dans la page src de l'iframe est le suivant :
<script type="text/javascript"> function resizeContent() { $(window.parent.document).find("#if1").height($("#content").height()); } function show400() { if($("#test400").css("display") == "none") { $("#test400").css("display",""); resizeContent(); } else { $("#test400").css("display","none"); resizeContent(); } } $(document).ready(function(){ resizeContent(); }) </script> <div id="left111"> <div class="mnav" onclick="test400()"></div> <div class="mnav"><a href="ProductList.html">超级链接</a></div> <div class="mnav"><a href="ProductCategory.html">超级链接</a></div> <div class="mnav"><a href="ProductCategory.html">超级链接</a></div> <div id="test400" style="display:none;height:400px;"></div> <div class="mnav"><a href="Orders.html">超级链接</a></div> <div class="mnav Mcurrent"><a href="Keywords.html">超级链接</a></div> <div class="mnav"><a href="#">超级链接</a></div> <div class="mnav"><a href="#">超级链接</a></div> <div class="mnav"><a href="#">超级链接</a></div> <div class="mnav"><a href="#">超级链接</a></div> <div class="mnav"><a href="#">超级链接</a></div> <div class="mnav"><a href="#">超级链接</a></div> <br /> </div>
Remarque :
Ici
$(window.parent.document).find("#if1").height($("#content").height());
Cette phrase se lisait à l'origine :
$(window.parent.document).find("#if1").height($(document).height());
La hauteur adaptative peut être obtenue, mais l'adaptation à l'échelle ne peut pas être obtenue. Parce que la hauteur du document est la plus haute hauteur à laquelle le contenu affiché soit jamais apparu, donc si vous cliquez pour développer ici, l'iframe ne rétrécira pas et n'affichera que la hauteur la plus élevée jamais vue .
Un conteneur parent est donc utilisé ici, qui est le dernier code. De cette façon, l’auto-adaptation peut être réalisée.
Je crois que ce qui est décrit dans cet article a une certaine valeur de référence pour la programmation jQuery de chacun.