Контент iframe в fancybox не отображается через функцию jquery - PullRequest
0 голосов
/ 08 марта 2012

Вот мой код внутри функции jquery:

$("form").submit(function() {


    if(form.First_Name.value == ""){
        alert("Please fill in your First Name.");
        form.First_Name.focus();
        return false;
    }
    if(form.Last_Name.value == ""){
        alert("Please fill in your Last Name.");
        form.Last_Name.focus();
        return false;
    }
    if(form.Customer_eMail952.value == ""){
        alert("Please fill in your Email.");
        form.Customer_eMail952.focus();
        return false;
    }else{
        if (!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(form.Customer_eMail952.value)) {
            alert("Invalid Email");
            form.Customer_eMail952.focus();
            return false;
        }
    }
    var submittedURL = 'http://www.google.com';
    $.fancybox.open({'href': submittedURL, 'type': 'iframe'});
});

Функция будет работать без ошибок, но когда отображается iframe, внутри него ничего не отображается.Использование FireBug Показывает правильный href:

<iframe class="fancybox-iframe" scrolling="auto" frameborder="0" src="http://www.google.com" hspace="0" name="fancybox-frame1331232022953">

Я использую fancybox 2.0, и fancybox уже открыт во время вызова этой функции.Он вызывается после проверки формы.

Почему не загружается Iframe?Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 09 марта 2012

Я нашел решение, я не смог заставить fancybox работать, поэтому я его jquery.

Я заменил этот код:

var submittedURL = 'http://www.google.com';
$.fancybox.open({'href': submittedURL, 'type': 'iframe'});

с этим кодом:

$(".fancybox-inner").empty();
$(".fancybox-inner").append('<iframe src="'+submittedURL+'" class="fancybox-iframe" scrolling="auto" frameborder="0" hspace="0" />');
$.fancybox.update();

Я понимаю, что это неудачный взлом, но он работает.

0 голосов
/ 08 марта 2012

Google и другие хорошо известные веб-страницы (facebook, Yahoo и т. Д.) В основном используют заголовок ответа X-Frame, чтобы избежать атак с использованием щелчков (которые могут происходить при открытии внутри фреймов).Google добавил эту опцию также из-за изменений в своих правилах программы adSense.

Для получения дополнительной информации проверьте следующие ссылки:

https://stackoverflow.com/a/8808761/1055987

https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header

Вы можете открыть другие страницы своего домена.

...