Fancybox обнаружить изнутри - PullRequest
0 голосов
/ 02 марта 2012

Позвольте мне объяснить ситуацию.

Веб-сайт A: www.mywebsitea.com Веб-сайт B: www.mywebsiteb.com

Веб-сайт A является хостом Fancybox.На веб-сайте B размещен контент, открытый в Fancybox of A.

Я должен узнать на веб-сайте B, открыт ли мой контент в fancybox of A или нет.

Как я могусделай это?Я пробовал несколько решений, но они не работают.

Одним из таких решений было:

  try {
     if(!(parent.$ && parent.$.fancybox))
     {
        window.location = "http://mylink.com"
     }
  }
  catch(e){
  }

Есть ли у кого-нибудь другое решение?

Спасибо заПомогите.Адриан

Ответы [ 2 ]

2 голосов
/ 02 марта 2012

Вы не можете получить доступ к родительским переменным, кроме как в том же домене.См .: Одинаковая политика происхождения

Бу, который вы можете проверить, находится в iframe с

var isInIframe = self != top;

Если в iframe тогда и вы не можете добраться до верхнего окнаэто означает, что какой-то сайт показывает ваш сайт в фрейме.

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

Если вы хотите узнать, был ли Site B открыт с Site A в iframe, то внутри Site B есть этот скрипт

if(parent.window.location.href =="http://www.mywebsitea.com"){
 alert('opened from Site A')
}

С другой стороны, если вы просто хотите узнать, был ли Site B открыт откуда-либо (включая Site A), но внутри fancybox, тогда внутри Site B есть этот скрипт

if(parent.jQuery().fancybox) {
 alert("opened inside of fancybox")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...