Я пытаюсь сделать приложение на странице facebook с помощью fancybox 2, где страница загружается как iframe в fancybox. Он работает отлично, за исключением IE (кто бы знал!).
В моем fancybox 2 есть кнопка, которая отправляет форму и отправляет вас на другую страницу. эта страница загружается в том же окне fancybox, что и предыдущая страница. Когда эта страница загружена, высота fancybox настраивается неправильно, поэтому половина моей страницы не видна.
То, что я пытаюсь сделать сейчас, это изменить высоту fancybox iframe, но я уже застрял в получении фактического размера iframe.
здесь мой код javascript на последней странице, загружаемой в fancybox iframe:
$(document).ready(function() { var inner = $('.fancybox-inner'); console.log(inner); });
Этот console.log возвращает мне «null», который говорит мне, что этот класс не существует на странице. Я также пробовал следующее:
parent.$('.fancybox-inner'); parent.$('.fancybox-iframe'); $('.fancybox-iframe'); $.fancybox; parent.fancybox;
моя загрузка fancybox:
$(document).ready(function() { $(".uploadbox").fancybox({ scrolling : 'no', preload : true, type : 'iframe', width : '623px', height : 'auto', autoSize : true, afterLoad : function () { $.fancybox.update(); }, //this does not work closeBtn : false, closeClick : false, helpers : { overlay : {closeClick: false} } }); });
Любая помощь будет принята с благодарностью!
Мне никогда не удавалось решить эту проблему. Я объясню вам, почему:
На страницах Facebook используется iframe, чтобы показывать ваш сайт на своем веб-сайте. Чтобы показать другую страницу в fancybox 2, вам также нужно использовать iframe. Поскольку iframe в iframe всегда задает проблемы (кросс-браузер и т. Д.), Не было способа предоставить родительскому окну высоту моего fancybox из-за двойного iframe. Поскольку приложение должно было жить, я решил дать ему статическую высоту. В будущем я больше не буду использовать Fancybox 2 или что-то в этом роде, это просто одно большое несчастье внутри Facebook.
Вам понадобится parent.jQuery.fancybox.resize (); или даже window.parent.jQuery.fancybox.resize ();
Если я правильно помню, на их сайте была указана спецификация этой самой проблемы.