Расположение Fancybox / iFrame (кросс-домен) с использованием postMessage - PullRequest
3 голосов
/ 20 мая 2011

Я пытаюсь получить местоположение iFrame (в фантастическом окне), когда пользователь нажимает кнопку в области заголовка.Он находится в другом домене, поэтому я использую postMessage, и я хочу, чтобы он захватил полный URL (например, "www.example.com?pid=12345"), поэтому, когда fancybox закрывается с помощью кнопки "Попытка поиска", мойЗатем сайт может выполнить поиск pid "12345".

Snippets ...

<script type="text/javascript">
  window.addEventListener("message", function(e) {
    alert(e.data + " : " + e.origin + " : " + e.source);
  }, false);
</script>


<script type="text/javascript">
  $(document).ready(function() {
    $("a#codelookup").fancybox({
    'width' : 1050,
    'height' : '75%',
    'title' : '<p class="wrapbutton"><a href="javascript:;" onClick="postMessage(\'Hello?\', \'*\'); $.fancybox.close();">Attempt Search</a></p>',
    'titlePosition' : 'inside',
    'type' : 'iframe'
  });
});

Это предупреждает "Hello?"сообщение ОК, но e.origin возвращает родительский домен (не URL-адрес iFrame).И если я отправлю сообщение (this.location, '*'), оно не определено.

Может кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

1 голос
/ 20 мая 2011

Это невозможно.По соображениям безопасности, фрейм другого домена не может связаться со страницей, на которой он создан.

0 голосов
/ 20 мая 2011

Вы пробовали эту библиотеку?http://easyxdm.net/wp/

...