2012-03-12 2 views
1

Я использую fancybox для отображения всплывающего окна с другого URL-адреса, используя iframe. Вот демо FancyBox: http://fancyapps.com/fancybox/#examplesо iframe fancybox?

<a class="various fancybox.iframe" href="http://jquery.com/">Iframe</a> 

Демонстрационная страница правильно, но если я изменить URL из фрейма в этом URL: http://www.shdog.net/u/space-47012-do-blog-id-21557.html

<a class="various fancybox.iframe" href="http://www.shdog.net/u/space-47012-do-blog-id-21557.html 
">Iframe</a> 

... он направит к новая страница и не отображает всплывающее окно.

Почему это происходит?

+1

http://meta.stackexchange.com/a/5235/173947 – JFK

ответ

2

Поскольку второй сайт имеет этот JS файл:

http://www.shdog.net/u/source/script_common.js

и внутри этого файла существует этот кусок кода

if (top.location != location) { 
    top.location.href = location.href; 
} 

который оценивает, если сайт открывается внутри iframe (в этот случай fancybox) ... если это так, он перемещается из iframe на главную страницу браузера.

Этот сайт и другие такие скрипты не могут быть открыты в FancyBox (или любой другой лайтбокса ... или внутри htmliframes)