284 votes

Sont considérés comme les iframes ' mauvaise pratique ' ?

Quelque part le long de la ligne, j’ai ramassé la notion que l’utilisation des iframes est « mauvaise pratique ».

Est-ce vrai ? Quels sont les avantages/inconvénients de s’en servir ?

215voto

adzm Points 2366

Comme avec toutes les technologies, il a ses hauts et ses bas. Si vous êtes en utilisant un iframe à me déplacer correctement développé le site, c'est une mauvaise pratique. Cependant, parfois un iframe est acceptable.

L'un des principaux problèmes avec un iframe a à faire avec des signets et de navigation. Si vous utilisez il suffit d'insérer une page à l'intérieur de votre contenu, je pense que c'est très bien. Qu'est ce qu'un iframe.

Mais j'ai vu iframes abusé. Il ne doit jamais être utilisé comme une partie intégrante de votre site, mais aussi un morceau de contenu au sein d'un site.

Habituellement, si vous pouvez faire sans une iframe, c'est une meilleure option. Je suis sûr que d'autres ici pourront avoir plus d'informations ou des exemples plus précis, il s'agit pour le problème que vous essayez de résoudre.

Avec cela étant dit, si vous êtes limité à HTML et n'ont pas accès à un back-end comme PHP ou ASP.NET etc, parfois un iframe est votre seule option.

73voto

Tom Points 6758

Ils ne sont pas mauvaises pratiques, ils sont juste un autre outil et ils ajoutent de la souplesse.

Pour une utilisation comme un standard de l'élément de la page... ils sont bons, parce qu'ils sont une manière simple et fiable de séparer le contenu sur plusieurs pages. Surtout pour le contenu généré par l'utilisateur, il peut être utile de "bac à sable" pages internes en iframe si pauvre balisage n'a pas d'incidence sur la page principale. L'inconvénient est que si vous introduisez plusieurs couches de défilement (l'un pour le navigateur, l'un pour l' iframe) vos utilisateurs deviennent frustrés. Comme adzm dit, vous ne voulez pas utiliser un iframe pour le primaire de navigation, mais pensez comme un texte/majoration équivalente à la manière d'une vidéo ou d'un autre fichier multimédia serait intégré.

Pour le script d'arrière-plan des événements, le choix est généralement entre un caché iframe et XmlHttpRequest de charger le contenu de la page en cours. La différence n'est qu'un iframe génère un chargement de la page, donc vous pouvez vous déplacer en avant et en arrière dans la mémoire cache du navigateur avec la plupart des navigateurs. Notez que Google, qui utilise XmlHttpRequest de tous les horizons, aussi les utilisations iframes, dans certains cas, pour permettre à un utilisateur de se déplacer en avant et en arrière dans l'historique du navigateur.

28voto

Chris Van Opstal Points 16961

Il est une « mauvaise habitude » de les utiliser sans comprendre leurs inconvénients. Post de ADZM résume eux très bien.

Sur le revers, gmail a fait une utilisation intensive des iFrames en arrière-plan pour certaines de ses caractéristiques refroidisseur (comme l’upload de fichier automatique). Je ne crois pas que vous devriez vous sentir aucun scrupule à les utiliser si vous êtes conscient des limites des iFrames.

18voto

user261975 Points 97

Pour avoir travaillé avec eux dans de nombreuses circonstances, j'en suis venu à penser que l'iframe sont la programmation web équivalent de l'instruction goto. C'est, quelque chose de généralement être évitée. Au sein d'un site, ils peuvent être un peu utile. Cependant, cross-site, ils sont presque toujours une mauvaise idée pour quelque chose, mais le plus simple de contenu.

Examiner les possibilités ... si elle est utilisée pour paramétrée contenu, ils ont créé une interface. Et dans un site professionnel, cette interface nécessite un contrat de service et de gestion de version - qui sont presque toujours ignorés dans la course pour arriver en ligne.

Si elle est utilisée pour le contenu actif - cadres de l'hôte de script - puis il y a les (différents) de la croix de domaine script restrictions. Certains peuvent être piraté, mais rarement de manière cohérente. Et si votre encadrée contenu a besoin d'être interactif, il aura de la difficulté à le faire en dehors du cadre.

Si utilisé avec le contenu sous licence, puis les sites participants sont accablés par le besoin de déplacer informations sur les droits de la bande entre les hôtes.

Ainsi, bien que, occaisionally utile au sein d'un site, ils sont plutôt inadapté pour les mashups. Vous feriez bien mieux de regarder réel, des portails et des portlets. Pire, ils sont un chouchou du web amateur - de nombreux gestionnaire de technologie a siezed sur eux comme une solution à de nombreux problèmes. En fait, ils créent de plus.

10voto

mel3kings Points 1201

D'après mon expérience, un côté positif pour l'iframe sont lors de l'appel de la troisième partie des codes, qui peut impliquer d'appeler un javascript qui appelle un a un Document.write(); commande. Comme vous le savez, ces commandes ne peuvent pas être appelée de façon asynchrone en raison de la façon dont elle est analysée (DOM Parser etc). Un exemple de ceci est http://sourceforge.net/projects/phpadsnew/ j'ai fait de l'utilisation des iframes pour aider à accélérer notre site, car il y avait de multiples appels à phpadsnews et le site a été en attente pour la réponse avant de procéder à rendre les différentes parties de la page. avec un iframe, j'ai pu permettre au site de rendre les autres parties de la page, et encore appeler l' Document.write() commande de phpads de manière asynchrone. La prévention et la js verrouillage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X