2013-02-11 24 views
9

IEのiframeにfancyboxを使用してPDFを読み込む際に問題が発生しています。私がリンクをクリックすると、私はGIFローダーを取得し、それは永遠に回転します。コンソールやページなどにエラーはありません。問題はIEのすべてのバージョンで発生します。その他のブラウザは正常に動作します。また、PDFは内部ファイルです。FancyboxがIEでローディングiframeをスタックしました


HTML

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
     <meta charset="utf-8"> 

     <link rel="stylesheet" type="text/css" href=<?php echo base_url("templates/style1/css/jquery.fancybox.css") ?> /> 

     <script src=<?php echo base_url("js/jquery-1.7.2.min.js") ?> type="text/javascript"></script> 
     <script type="text/javascript" src="../js/jquery.fancybox.js"></script> 

    </head> 
    <body> 
     <a class="fancybox-media italic" href="../contract_docs/dummy.pdf" >Test Doc</a> 
    </body> 
</html> 

JS

$(document).ready(function(){ 
     /* fancybox handler */ 
     $('.fancybox-media').fancybox({ 
      openEffect : 'none', 
      closeEffect : 'none', 
      autoSize: true, 
      type : 'iframe' 
     }); 
    }); 

EDIT:

は、ここでは、コードの一部だ私も無駄に、jQueryのをアップグレードしようとしています。

編集:ここにはjsFiddleがあります。本当にシンプルでIEではうまくいきません。

答えて

19

それはとてもこれを試してプリロードは、アイフレームとIEで問題を修正無効のように思えます。

私は/あなたのコードを貼り付け(およびPDFファイルを変更)をコピー

チェックJSFIDDLE

+1

魅力のように動作します!多くのおかげで、どこでも解決を見つけることができませんでした。 – Falantar014

+0

恐ろしい、ありがとう。同上、魅力のように働く。私はfancybox 2.1.4をJQuery 1.7.1で使用し、IE9とIE10に対してテストしました。 – arcseldon

+2

"preload:false"は、Android 4.1.2の在庫ブラウザ(Mobile Safari)の問題を修正します。ありがとう! – Jurgen

-1

私はちょうどあなたのスニペットコードをテストし、それが私からのリソースファイルを使用してIE 8の中で私のために働いたとクロム

jqueryの:http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js

JS:http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.js

CSS: http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.css

コードi:

01 fancyboxのv2.1.4とIE7でテスト

$(document).ready(function() { 
     /* fancybox handler */ 
     $('.fancybox-media').fancybox({ 
      openEffect: 'none', 
      closeEffect: 'none', 
      autoSize: true, 
      type: 'iframe', 
      iframe: { 
       preload: false // fixes issue with iframe and IE 
      } 
     }); 
    }); 

<!DOCTYPE html> 
<html lang="en" >  
    <head> 
     <meta charset="utf-8"> 

     <link rel="stylesheet" type="text/css" href="http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.css" /> 

     <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js" type="text/javascript"></script> 
     <script type="text/javascript" src="http://fancybox.net/js/fancybox-1.3.4/jquery.fancybox-1.3.4.js"></script> 
     <script> 
      $(document).ready(function(){ 
       /* fancybox handler */ 
       $('.fancybox-media').fancybox({ 
        openEffect : 'none', 
        closeEffect : 'none', 
        autoSize: true, 
        type : 'iframe' 
       }); 
      }); 
     </script> 

    </head> 
    <body> 
     <a class="fancybox-media italic" href="pdf.pdf" >Test Doc</a> 
    </body> 
</html> 


maybe clear browser cach fix it 
+0

と私が得るすべてはコンソールでのエラーです:SCRIPT438:オブジェクトは、プロパティまたはメソッドをサポートしていません「fancybox」 – Falantar014

+1

OP fancybox v2.xを使用しています – JFK

+0

それはコードからではなく、それはファンシーボックスjsの上に動作しています上記のコード –

関連する問題