2009-12-07 5 views
0

J'ai le code HTML suivant dans une page:IFrame avec mauvaise URL - page parent affiche une erreur dans IE - comment résoudre?

<div> 

     <iframe src="http://google.co.in" style="width:200px;height:200px">   
     </iframe> 
     <iframe src="http://" style="width:200px;height:200px">   
     </iframe> 
    </div> 

Cette page affiche correctement dans Firefox: Firefox http://i50.tinypic.com/ezhpio.jpg

Mais dans IE (7 & 8), la page entière sera remplacé par la page d'erreur suivant : IE7 and IE8 http://i47.tinypic.com/14ocgzp.jpg

+0

Quel est le cas d'utilisation d'une source non valide pour l'IFrame? Je suggère simplement d'utiliser une source valide. – Steffen

+0

Eh bien, l'URL elle-même est définie par l'utilisateur, je veux que l'IFRAME se comporte comme un navigateur dans un navigateur – Ngm

Répondre

1

Même si je suis d'accord que ce comportement est étrange, il peut être destiné à des fins de sécurité. Essayez about:blank plutôt que http://.

0

Je ne compte pas sur le navigateur pour vérifier la validité de l'URL pour vous si vous voulez un comportement cohérent dans tous les navigateurs. S'il s'agit d'une url que vous devez valider, pensez à la valider vous-même (en utilisant probablement des expressions régulières dans le backend ou javascript selon votre application) avant de la charger dans l'iframe. De cette façon, vous pouvez afficher votre propre message d'erreur à vos propres conditions s'ils ont entré une URL invalide.

0

Étant donné que l'URL est définie par l'utilisateur, vous devez avoir un script côté serveur qui génère cette page. Ainsi, vous pouvez facilement rechercher une URL invalide (ou au moins une URL vide ou juste http://) et ne rien afficher, mettre le code iframe sans paramètre src, ou mettre une page par défaut.

Questions connexes