2010-04-29 2 views
1

Y at-il une différence de performance importante entre les éléments suivants:Différences de performances entre les méthodes de masquage iframe?

<iframe style="visibility:hidden" /> 

<iframe style="width:0px; height:0px; border:0px" /> 

J'utilise une iframe cachée pour tirer vers le bas et d'analyser des informations à partir d'un serveur externe. Si l'iframe essaye réellement de rendre la page, ceci peut aspirer beaucoup de cycles de CPU. Bien sûr, je préférerais simplement obtenir le balisage brut - par exemple, si je pouvais empêcher l'iframe de charger les balises img, ce serait parfait.

Répondre

1

Je pense que votre iframe va charger son contenu. Vous pouvez effectuer un test simple en masquant puis en affichant le iframe avec une page qui prend un certain temps à charger.

Si l'iframe (lorsqu'il est visible) affiche immédiatement la longue page de chargement, vous saurez qu'il a déjà été chargé avant le spectacle.

Si vous utilisez FireBug, vous pouvez l'utiliser pour regarder les requêtes HTTP effectuées. Cela vous montrera s'il y a une requête HTTP faite par l'iframe.

En ce qui concerne les différences de performance, je doute qu'il y en ait entre les deux parties de HTML que vous avez publiées. Si quelque chose je dirais que mettre la visibilité à caché sera plus "efficace" puisque le navigateur n'a pas à se soucier de rendre n'importe quoi visuellement, même si c'est 0 * 0px.

Cependant, je ne pense pas qu'il y ait une réelle différence de performance et surtout aucune différence de performance majeure.

Mise à jour:

Je viens de tester à Firebug pour voir si l'iframe charge encore son contenu lorsqu'il est réglé sur visibility:hidden, display:none; et avec ses height et width attributs définis à 0px et dans tous les cas, le contenu iFrame a été chargé.