2014-02-28 97 views
-1

我有一個iframe頁面,在iframe頁面我有一個img打開fancybox。這工作得很好,只是模式框的目標是iframe,只給整個頁面的一部分一個黑色覆蓋層,並將fancybox置於iframe而不是整個頁面上。突破iframe與fancybox

這是代碼:

<img src="/img/icons/calendar.png" class="fancybox" id="fancyCalendar" /> 

<script> 
    $j('#fancyCalendar').click(function() { 
     $j.fancybox.open({ 
      href: 'calendar.html', 
      type: 'iframe', 
      padding: 5, 
      width: 880, 
      height: 335 
     }); 
    }); 
</script> 

我已經試過這些東西,沒有工作:

  • 添加目標到IMG
  • 使得在IMG的鏈接與目標
  • prepanding window.parent to fancybox.open prepending
  • window.parent.parent to fancybox.open

我不知道還有什麼我可以試試,有沒有人知道如何做到這一點?

+0

[Extend Fancybox inside a iFrame to outside](http://stackoverflow.com/questions/6528177/extend-fancybox-inside-an-iframe-to-outside) –

+0

可能重複[調用Fancybox in父母從iframe](http://stackoverflow.com/questions/8853727/call-fancybox-in-parent-from-iframe) – JFK

+0

如何使用fancybox v2.x http://stackoverflow.com/a/8855410/1055987包括演示 – JFK

回答

0

iframes是另一個瀏覽器內部的瀏覽器獨立窗口,所以你不能做你想做的事情。

唯一的解決方法,即工作只有如果iframe與頂部框架位於相同的域,則調用父框架的fancybox函數。

的iframe中調用:

window.parent.openFancyBox(url, params...); 

您已在本地函數

function openFancyBox(url, ....) { 
    ... 
} 
-2

你有一個iframe的第一負載的內容,然後用插件打開的fancybox。