84 votes

Un iframe vide src est-il valide?

Je veux qu'un iframe ait initialement src comme vierge puis une fois la page chargée; appelez une fonction JS, puis définissez la valeur src sur une valeur réelle.

Donc, <iframe src="#" /> valide OU dois-je utiliser quelque chose d'autre comme javascript:; , etc.

119voto

ariel Points 5372

juste <iframe src='about:blank'></iframe>

57voto

Frédéric Hamidi Points 123646

Le HTML 5, document de travail, la section 4.8.2, dit (l'emphase est mienne):

L' src attribut donne l'adresse de une page qui imbriquée de navigation le contexte est à la contenir. L'attribut, si elle est présente, doit être valide non vide URL potentiellement entouré par des espaces.

Selon la RFC 3986, valable Url doit commencer par un nom de schéma, et les références relatives ne peut pas consister en un fragment.

Par conséquent, # n'est pas une URL valide, et ne doit pas être utilisée comme valeur de l' src d'attribut.

Utilisation sur:vide à la place.

29voto

Aron Rotteveel Points 27894

Non, c'est pas valable pour spécifier un vide iframe src.

Vous devez utiliser <iframe src="about:blank" />.

# est ment pour être une référence à une ancre dans la page en cours (ou, souvent utilisé comme un schéma de routage lorsque vous travaillez avec des requêtes AJAX). En l'utilisant comme source d'un iframe serait absurde, puisqu'une iframe ne fait pas référence au contenu de la page en cours et n'est pas utilisé avec des requêtes AJAX.

about:blank est un cross-browser standard pour afficher un document vierge.

Mise à jour le 8 juin 2012:

Il semble que la 'vie' spec ne rende plus un iframe non valide si l' src l'attribut est manquant:

Si, lorsque l'élément est créé, le srcdoc attribut n'est pas défini, et l'attribut src est soit pas également défini ou à définir, mais sa valeur ne peut pas être résolu, le contexte de navigation restera à la première about:blank page.

Si ces deux attributs, cependant, ne sont pas définies, le contexte de navigation par défaut est about:blank. Pour assurer la compatibilité ascendante, il est recommandable d'être verbeux et, pour l'instant, fournir à l' about:blank d'url.

11voto

rjmunro Points 10522

Il semble que vous pouvez également laisser la src complètement:

http://dev.w3.org/html5/spec/Overview.html#the-iframe-element

Si, lorsque l'élément est créé, le srcdoc attribut n'est pas défini, et l'attribut src est soit pas également défini ou à définir, mais sa valeur ne peut pas être résolu, le contexte de navigation restera à la première about:blank page.

1voto

Naveed Butt Points 1187

Vous pouvez utiliser about:blank dans l'attribut src (comme mentionné par ariel plus tôt), sinon cela générerait une erreur lors de la diffusion depuis une page sécurisée.

Une page sécurisée https générerait une erreur de données éventuellement non sécurisées sur le site Web sécurisé.

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