2013-05-09 87 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 
     }); 
    } 
}); 

我希望它能幫助:)