Может ли междоменный iframe определить фактические размеры области просмотра браузера?

У меня есть iframe, загруженный внутри родительской страницы - iframe и родительская страница находятся в разных доменах.

Может ли мой сайт с iframe определить фактические размеры браузера?


person Mazatec    schedule 08.09.2011    source источник


Ответы (3)


Вы также можете использовать метод веб-API window.postMessage. Он безопасно обеспечивает связь между источниками.

https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage

person Laszlo    schedule 05.06.2014

Простой ответ — нет. Это не может. Если каким-либо образом родительское окно не может динамически отправлять данные объекту внутри iframe...

Однако, если все содержимое внутри iframe было сделано в процентах, чтобы оно хорошо масштабировалось (аналогично гибкому макету веб-страницы), это могло бы помочь?

Чего вы непосредственно пытаетесь достичь?

person Graeme Leighfield    schedule 08.09.2011
comment
Я использую плагин fancybox jquery, который размещает оверлейную «панель» прямо в середине экрана, что обычно нормально, но поскольку этот сайт обслуживается в iframe, он слишком далеко вниз по странице, мне нужно оверлей для быть изменены относительно размеров браузера... - person Mazatec; 08.09.2011
comment
У меня также есть контроль над родительским сайтом, как вы рекомендуете передавать данные между двумя сайтами, чтобы высота и ширина области просмотра браузера могли быть динамически захвачены дочерним iframe? - person Mazatec; 09.09.2011

В итоге я использовал отличный плагин postMessage от Ben Alman.

http://benalman.com/projects/jquery-postmessage-plugin/

это позволяет осуществлять междоменную связь, когда вы контролируете оба домена.

person Mazatec    schedule 13.09.2011