IFrame с неправильным URL - родительская страница отображает ошибку в IE - как решить? - PullRequest
0 голосов
/ 07 декабря 2009

У меня есть следующий HTML на странице:

<div>

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

Эта страница корректно отображается в Firefox: Firefox

Но в IE (7 и 8) вся страница заменяется следующей страницей с ошибкой: IE7 and IE8

Ответы [ 3 ]

1 голос
/ 07 декабря 2009

Даже если я согласен, что это странное поведение, оно может быть предназначено для целей безопасности. Попробуйте about:blank вместо http://.

0 голосов
/ 07 декабря 2009

Поскольку URL-адрес определяется пользователем, у вас должен быть серверный скрипт, который генерирует эту страницу. Таким образом, вы можете легко проверить недействительный URL-адрес (или, по крайней мере, пустой или просто http://) и либо ничего не отображать, поместить код iframe без параметра src или страницу по умолчанию.

0 голосов
/ 07 декабря 2009

Я бы не стал полагаться на то, что браузер проверит правильность URL для вас, если вы хотите, чтобы во всех браузерах было согласованное поведение.

Если вам необходимо подтвердить введенный пользователем URL-адрес, попробуйте проверить его самостоятельно (возможно, используя регулярные выражения либо в бэк-энде, либо в JavaScript, в зависимости от вашего приложения), прежде чем загружать его в iframe. Таким образом, вы можете отобразить собственное сообщение об ошибке на своих условиях, если они ввели неверный URL.

...