Fancybox在IE7和IE6上更改href时出现问题

3
在我的工作中,我将对话框更改为fancybox,一切都很顺利,即使遇到了一些小问题,比如让它在页面加载时运行,但没有什么我无法处理的。但现在,我面临着一个巨大的障碍:IE6和IE7的不可预测行为。我需要更改fancybox要显示的位置的URL。除了添加内容而不是ID之外,在文档中我找不到任何东西。所以我的问题是:我错在哪里?
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title></title>
 <link rel="stylesheet" type="text/css" href="http://fancybox.net/js/fancybox/jquery.fancybox-1.3.0.css" media="screen" />

 <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>
 <script type="text/javascript" src="http://fancybox.net/js/fancybox/jquery.easing-1.3.pack.js"></script>
 <script type="text/javascript" src="http://fancybox.net/js/fancybox/jquery.mousewheel-3.0.2.pack.js"></script>

 <script type="text/javascript" src="http://fancybox.net/js/fancybox/jquery.fancybox-1.3.0.pack.js"></script>

    <script>

        $(document).ready(function() {

        jQuery.fn.cornyBox = function(selector) {

            if (selector) { this.attr('href', selector); }

            $(this).fancybox();

        };


       //$('#aAlert').cornyBox();
        $('#aAlert').cornyBox('#dvAlert2');

        });


    </script>
</head>
<body>
    <div id="alertHolder">
        <a id="aAlert" href="#dvAlert1" >hit me</a>
        <div id="dvAlert1" class='alert'>
            something
        </div>

        <div id="dvAlert2" class='alert'>
            something else
        </div>
    </div>  
</body>
</html>

如果我使用$('#aAlert').cornyBox();就没有问题,因为显然我没有在链接上设置新的href。
它可以在IE8、Firefox和Chrome上运行。但在IE6和IE7上不能。


1
你好,你找到解决方法了吗?我有一个类似的问题,其中锚链接是通过ajax插入到DOM中的。IE7 fancybox打开了错误的内容。在chrome、ff、ie8等浏览器中可以正常工作。 - Benbob
抱歉,伙计。自从那段时间以来,我甚至换了工作...唉...但是嘿,你找到解决方案了。 - marcelo-ferraz
1个回答

4

我曾经遇到过IE7显示内联HTML内容的类似问题。它会显示我在href中没有选择的body内容。将type参数设置为inline似乎可以解决这个问题。

$('a.fancybox').fancybox({
  'type':'inline',
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接