Откуда берется ширина этого iframe? - PullRequest
1 голос
/ 03 августа 2011

Еще одна проблема, связанная с фреймом «Мне нравится» на Facebook: я просто не понимаю, откуда берется его ширина.Посмотрите на следующий код

<html>
<body>
Test<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.google.com&amp;send=false&amp;layout=button_count&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:21px;" allowTransparency="true"></iframe>Test
</body>
</html>

, который является минимальной демонстрацией включения кнопки «Мне нравится» в Facebook на странице.Вы заметите, что слова «Test», окружающие кнопку, расположены довольно далеко друг от друга.Инструменты инспектора показывают, что ширина фрейма составляет точно 300 пикселей.Однако, просматривая дерево DOM iframe, я не могу найти ни одного элемента или стиля, который бы заставил iframe расширяться до этой ширины.Никакой CSS, используемый страницей, загруженной в iframe, даже не упоминает ничего, связанного с 300px.

Мне это кажется странным, но согласованным во всех браузерах.В конечном счете, я бы хотел, чтобы iframe просто соответствовал своему содержимому (см. Мой предыдущий вопрос), но сейчас я хотел бы просто знать, почему, черт возьми, он вообще расширяется до ширины 300px.

1 Ответ

10 голосов
/ 04 августа 2011

Я наконец разгадал эту тайну, по крайней мере:

300px x 150px - это размеры iframe по умолчанию в Firefox, Chrome и, возможно, некоторых других браузерах. Обидно, что инспектор этого не показывает.

...