0

我正在使用fancybox打开一个iframe并滚动到一个锚标签,但除了它可以完美运行的IE之外,所有其他浏览器都不一致并且停在一个不同的地方而不是锚。

根据我在此处阅读的内容http://support.mozilla.org/en-US/questions/927172,我认为问题可能出在 JavaScript 上,但我不知道如何修复我的代码。

链接在这里: <a class="various fancybox.iframe" href="cost_of_hire.php#cupcakeanchor"><img src="images/services/4.jpg" alt="" /></a>

和锚: <a name="cupcakeanchor">CUP CAKE MAKING PARTY<br />£0.00</a>

感谢任何帮助谢谢

PS.:在 IE 中,在 Chrome 和 Firefox 中,从我拥有的 12 个链接中,8 个可以正常工作,在 Safari 6 中可以正常工作,而在 Opera 中没有一个可以正常工作。

4

2 回答 2

0

在 Fancybox 中,锚点不适用于 , 和其他。尝试使用 .

于 2014-11-12T17:27:33.103 回答
0

如果你想打开一个带有锚的 iframe,你不能直接使用,但可以使用 javascript 来完成。至少它对我有用(在 Prestashop 中使用)。

我的链接:

<a href="http://mylink.com/blabla/#myanchor" class="iframe-pv">Mi linkable text</a>

我的代码:

$(document).on('click', 'a.iframe-pv', function(e){
    e.preventDefault();
    var anchor = '';
    var url = $(this).attr('href');
    var anchorIdx = url.indexOf('#');

    if (anchorIdx > -1) {
        anchor = url.substring(anchorIdx, url.length);
        url = url.substring(0, anchorIdx);
    }

    if(url.indexOf('content_only=') == -1) {
        url += (url.indexOf('?') > -1) ? '&' : '?';
        url += 'content_only=1';
    }

    if (!!$.prototype.fancybox){
        $.fancybox({
            'padding':  20,
            'width':    '70%',
            'height':   '70%',
            'type':     'iframe',
            'href':     url + anchor
        });
    }
});

我希望它有帮助:)

于 2015-09-06T16:39:23.917 回答