вторник, 23 июня 2009 г.

Google Chrome: баг с ифреймом

google chrome

Сегодня коллега попросил помочь разобраться со странным поведением браузера Chrome.


На странице два элемента <iframe>. В одном чат, в другом ротатор баннеров.

<!-- В этом фрейме работает флешевый чат -->
<iframe id="frame_chat" src="/userplane/chat" frameborder="no"></iframe>
<!-- В этом фрейме сторонний скрипт баннеро-ротатор -->
<iframe id="frame_ads" src="http://third_part_banner_rotator" frameborder="no"></iframe>


Скрипт приводить не буду. Действует так: через каждые 30 секунд создает frameset с фреймами. Во фреймах различные составные рекламные баннеры.


Все браузеры (даже IE!), как и задумано, перезагружают только содержимое ифрейма "frame_ads", а Chrome – страницу целиком.


Перекопано было все, что только можно, по ходу исправлено еще несколько неаккуратностей, а проблема решилась до безобразия просто. Переписал тег второго ифрейма в сокращенной XHTML форме:

<iframe id="frame_ads" src="http://third_part_banner_rotator" frameborder="no" />


И всё заработало :). Сыроват еще «Хром», сыроват...


2 Комментариев :

ps10n1ck комментирует...

согласен, что сыроват. У меня например вообще не хотел показывать iframe

Степан Сюсин комментирует...

проделал тоже самое на движке DLE 9.7 - все блоки съехали и ничего не работает, убрал фрейм вообще - все нормально.

Отправить комментарий

Жги!