2009-05-28 4 views
11

ligne après IFRAME n'est pas visible à la fois dans IE et FF. référez-vous au code ci-dessous et faites-moi savoir si je fais quelque chose de mal.ligne après IFRAME n'est pas visible

<html> 
<body> 
line before iframe <br /> 
<iframe src="about:blank" /> 
<br /> line after iframe 
</body> 
</html> 

Répondre

20

vous devez fermer la balise iframe. sinon le contenu qui vient après il est considéré comme "choses à montrer" quand iframe n'est pas supporté. (En passant, je pense que si vous utilisez XHTML pour écrire le < iframe ... /> alors IE le prendra comme HTML à la place.Il ne comprend pas XHTML comme XHTML.Il le comprend comme HTML.)

+0

Oui cela fonctionne après que j'ai mis l'étiquette de fin distincte. Je pensais que l'extrémité libre et l'extrémité distincte sont identiques, je crois que cela s'applique à tous les éléments. pourquoi cela ne fonctionne pas avec IFRAME, Y a-t-il une norme/documentation du W3C pour cela? – afin

+0

s'il vous plaît voir la mise à jour ci-dessus –

+0

En d'autres termes, vous ne pouvez pas utiliser la version à fermeture automatique de l'étiquette. Je frappe ça moi-même aujourd'hui. Je suis content d'avoir trouvé cette question. – Andy

5

créer l'iframe avec une balise fermante séparée:

<html> 
<body> 
line before iframe <br /> 
<iframe src="about:blank"></iframe> 
<br /> line after iframe 
</body> 
</html> 

Il y a quelques balises (iframe et textarea viennent à l'esprit) qui ne l'aiment pas lorsque vous utilisez leur forme compacte.

+0

oui il fonctionne. Quelle est la raison derrière cela? Existe-t-il une norme W3C pour cela? – afin

2

je suis Facebook Connect dans intègrent ma page Web via tag iFrame, comme ceci:

<iframe src="..." style="..."></iframe> 

Il a travaillé dans tous les navigateurs sauf IE8.

Maintenant, j'ai découvert, que vous devez fournir un texte comme contenu des étiquettes. Alors ça marche parfaitement!

Exemple:

<iframe src="..." style="...">Your browser does not support iFrames</iframe> 

ou ce que je me sers est maintenant le suivant (affichage juste un espace):

Solution:

<iframe src="..." style="...">&#160;</iframe>