2013-05-09 52 views
0

我使用fancybox打开iframe并滚动到锚标记,但除了IE完美工作之外,所有其他浏览器都不一致,并且停止在不是锚点的不同位置。通过fancybox在iframe中锚定标记

我认为这个问题可能与JavaScript根据我在这里读到的http://support.mozilla.org/en-US/questions/927172,但我不知道如何解决我的代码。

这里是链接: <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中,他们都不工作。

+0

你试过''? – JFK 2013-05-10 06:05:14

+0

是的。还是一样 – dnl005 2013-05-10 09:26:09

回答

0

在Fancybox中,锚点和其他人不起作用。尝试一个。

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

我希望它能帮助:)