2012-03-23 75 views
0

顯示我使用的fancybox 1.3.X,我的iframe,裏面我有一個按鈕,單擊該彈出的fancybox IFRAME將被加載,iframe的內容從文件加載,其工作很好在除了IE除了所有的瀏覽器。在IE 內容將不會顯示只會彈出將出現。是否有任何解決此問題的方法。的fancybox彈出iframe中的內容是不是在IE

這段代碼如下所示。

$("a.iframe").fancybox({ 
      'transitionIn'  : 'elastic', 
      'transitionOut'  : 'elastic', 
      'speedIn'   : 600, 
      'speedOut'   : 200, 
      'overlayShow'  : false, 
      'width'    : 250, 
      'height'   : 190, 
      'type'    : 'iframe' 

      }); 

和我打電話的形式在這裏

<iframe name="report" id="report"> 
    <a class="iframe" href="edit-details.php?id=8"> 
</iframe> 

回答

0

你必須在最後一行的額外}?或者這只是一個錯字?

+0

看到,我已編輯後 – n92 2012-03-23 06:42:47

0

我認爲會有瀏覽器的兼容性問題,,

試試這個: -

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 
<meta http-equiv="X-UA-Compatible" content="IE=7" /> 

或先檢查你的代碼,即是非常多的情況下sensetive。檢查是否給任何HTML錯誤或標籤..

運行這段代碼驗證,

檢查你的腳本再次///

+0

是的,我沒有提到的HTML標籤:。現在內容正在加載,但彈出式iframe不能正常顯示 – n92 2012-03-23 06:47:18

+0

這就是..請給出一個適當的編碼格式..你試過瀏覽器兼容性..是否正在工作.. – 2012-03-23 06:53:38

+0

是的,我正在做它。 – n92 2012-03-23 07:17:35

0

它真的不漂亮的代碼,但是我通過重新加載框架解決了這個問題在afterShow和onUpdate事件處理程序中。對於我來說,在此解決方法之後,IE會立即顯示內容。

var bUpdateOnce = true; 

$(".fb2").fancybox({ 
    autoResize : true, 
    autoCenter : true, 
    autoSize : true, 

    onUpdate : updateIFrame, 
    afterShow : updateIFrame, 
    beforeShow : function() { 
    bUpdateOnce = true; 
    }, 
    ... 
    .. 

function updateIFrame() { 
    // ie fix, if not, window is empty 
    if(bUpdateOnce) { 
     bUpdateOnce = false; 
     //reload all iFrames 
     $('iframe').each(function() { 
      this.contentWindow.location.reload(true); 
     }); 

    } 
} 
1

添加autoSize:VALUE排除了我的IE加載問題。試一試。 Skweekah

0

嘗試添加該 嘗試添加該 嘗試添加該

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">