Détecter iframe contenu du changement de hauteur
Il y a beaucoup des exemples montrant comment définir dynamiquement un iframe
's la hauteur de son contenu. Cela fonctionne parfaitement pour moi. Le problème, je vais maintenant avoir, c'est que le contenu peut changer de taille, sans déclencher onload
(pensez caché/extensible div
s).
Est-il un moyen de détecter lorsque la taille de la iframe
contenu a changé? C'est sur le même domaine et pas de jQuery, s'il vous plaît.
Vous devez vous connecter pour publier un commentaire.
Je voudrais faire cela en interrogeant régulièrement (peut-être toutes les 200 millisecondes, peut-être plus souvent) à l'aide de
setInterval
. Vous pouvez comparer la taille du contenu à ce qui c'était la dernière fois.While you can poll the values of document.scrollWidth and document.scrollHeight to watch for changes to the document size, reading these properties can trigger document reflow, which can make them computationally expensive.
je vais essayer de toute façon.document.scrollheight
plutôt que d'un élément scrollheight, mais c'est probablement quelque chose à garder un oeil sur. Vous pouvez toujours diminuer la fréquence d'interrogation...document.body.scrollHeight
. Le gain de performance n'est pas perceptible dans IE sur mon ordinateur. Je vais essayer d'autres navigateurs, mais jusqu'à présent, il semble que ça va marcher.Pour les non-navigateurs webkit, il y a quelques domMutation-Événements, que le feu lorsqu'un attribut d'un élément (par exemple, le corps d'un élément de changement. Voir DOMSubtreeModified et, plus important encore DOMAttrModified.
Internet explorer ne le feu de l'événement onresize non des éléments de windows.
Opéra honneurs de la domMutation Événements.
Webkit sur les autres jeté ces événements comme un compromis à la vitesse de rendu javascript et la performance. T'est pas d'autre moyen de vérifier, via timeout/intervalle de la taille effective d'un élément.
onresize
dans IE et il tire comme le chargement de la page, mais pas après le div se développe.