当前位置: 首页 > 知识库问答 >
问题:

Fancybox在IE中加载iframe时卡死

夔高寒
2023-03-14

我在IE中使用FancyBox在iframe中加载PDF时遇到问题。当我点击链接时,我得到了gif加载器,它只是永远旋转。控制台或页面上没有任何错误或类似的东西。IE的所有版本中都会出现问题。所有其他浏览器都能正常工作。此外,PDF是一个内部文件。

下面是一些代码:


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'
        });
    });

编辑:我也尝试过升级jQuery,但没有用。

编辑:这里有一个jsFiddle,真的很简单,对我来说在IE中不起作用。

共有2个答案

严繁
2023-03-14

我只是测试了你的代码片段,它对我在IE8和chrome中起作用

我使用的资源文件来自:

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

我使用的代码:

<!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
查学文
2023-03-14

禁用预加载似乎可以解决iframes和IE的问题,因此请尝试以下操作:

  $(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
          }
      });
  });

使用fancybox v2.1.4和IE7进行测试。

检查JSFIDDLE

 类似资料:
  • 问题内容: 使用fancybox(v2),如何创建一个唯一的URL,该URL在加载时显示带有iframe内容的fancybox。我可以很好地处理内联内容(例如,www.mysite.com / index.html#idgoeshere),但不知道为了加载fancybox以及其中的特定iframe,URL或js应该包含什么内容或ajax.txt页面。 我想要达到的目标是通过转到以下链接: www.

  • 问题内容: 我在这个小组中搜索并在Google周围搜索,但仍然没有运气,我也看到有些问题,但是线程并没有帮助,所以我在这里 这个问题很简单,为了帮助您,我在.zip文件中打包了可以测试的文件 http://www.ivanhalen.com/fancyproblem.zip 我有一些链接的主页(index.php) 单击它们将加载通过AJAX的摘要(page.php) 在代码段中,有一个或多个链接

  • 问题内容: 我有2个页面,分别是index.html和social.html。我清理了索引,只剩下了需要fancybox的jquery代码。我想要做的是在social.html中包含图像,当单击它时,它将打开fancybox并显示它,但是在index.html中而不是在iframe中。出现的错误是: 这是我的index.html: 在IFrame页面中: PS:两个页面都在同一个域上…编辑:vid

  • 问题内容: 我有一个iframe: 如果来自externaldomain.com的something.html具有CSS: 在IE中,它将iframe呈现为空白。所有其他浏览器都可以。 有人知道解决方案吗?记住相同的原产地政策。我无法使用javascript更改iframe中的任何内容,也无法更改css,因为iframe src是外部的。 谢谢。 问题答案: 我将从阅读“另一种跨域iFrame通信

  • 问题内容: 我正在尝试在客户端动态生成文件时在客户端上显示“掩码”。似乎为此的推荐解决方法(因为它不是ajax)是使用iframe并从onload或done事件中侦听以确定文件从服务器实际发送到客户端的时间。 这是我的角度代码: 这在Firefox中效果很好,但在Chrome中没有运气。我也尝试过使用onload函数: 但是我那里也没有运气。 有想法吗? 问题答案: 不幸的是,如果内容是附件,则无

  • 我正在尝试打开分析器,但它不起作用,因为它卡在加载中,我有Android Studio 3.3。 分析器在加载时卡住 我正在使用这个真实的设备。