2017-01-10 155 views
0

我有以下HAMLFB分享按鈕消失在頁面加載

.share-fb-pop-up 
.fb-contain 
    .fb-share-button{"data-href" => "https://fls.net/proficiency_test", "data-layout" => "button", "data-mobile-iframe" => "false", "data-size" => "small"} 
    %a.fb-xfbml-parse-ignore{:href => "https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Ffls.net%2Fproficiency_test&src=sdkpreparse", :target => "_blank"} Share 
.pop-button-div 
    %button 
    Close 

我加載像這樣的javascript:

:javascript 
window.fbAsyncInit = function() { 
    FB.init({ 
    appId  : '<my-app-id>', 
    xfbml  : true, 
    version : 'v2.8' 
    }); 
}; 

(function(d, s, id){ 
var js, fjs = d.getElementsByTagName(s)[0]; 
if (d.getElementById(id)) {return;} 
js = d.createElement(s); js.id = id; 
js.src = "//connect.facebook.net/en_US/sdk.js"; 
fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 

而且我知道它的作品,因爲我看到它生成文本「分享「,當我從a標記中刪除類.fb-xfbml-parse-ignore它正確鏈接並通過Facebook分享。在本地主機上運行,​​或者在頁面上打開SDK的調用,是否有問題?

謝謝!

回答

1

facebook-jssdk初始化腳本在共享按鈕加載之前調用。

  1. 給您的按鈕的id
  2. 使用JS找出當按鈕加載並調用這個函數:FB.XFBML.parse(document.getElementById("<given-id>"))
+0

你怎麼找出當按鈕加載? – Thalatta

+0

並且我給它的'.fb-share-button'標識或者其中的''標籤? – Thalatta

+0

1)很多選項,可以使用'document.ready()' 2)'id'用於包含按鈕的任何元素,以便FB知道在哪裏搜索它 – tinytot

相關問題