2014-03-24 5 views
1

Так что этот вопрос задавали раньше, но никто не хочет делать это так, как я хочу, поэтому несите меня, пока я пытаюсь объяснить. API FB.ui имеет некоторые функции, которые я нахожу полезными, в основном, что я могу динамически изменять описание. Итак, я хочу поместить FB.ui в ссылку, которую пользователь может щелкнуть, а затем появится всплывающее окно, в котором они смогут разделить мою веб-страницу. До сих пор, что у меня есть:Создать пользовательскую ссылку Facebook Поделиться

<div id="fb-root"></div> 
    <script> 
function shareFB(){ 

     window.fbAsyncInit = function() { 
     FB.init({ 
      appId  : '42352352356463', 
      status  : true, 
      xfbml  : true 
     }); 
     FB.ui(
    { 
    method: 'feed', 
    name: 'name', 
    caption: 'caption', 
    description: (

    a 
    ), 
    link: 'http://www.image.com/', 
    picture: 'http://www.image.com/static/3.png' 
    }, 
    function(response) { 
    if (response && response.post_id) { 
     alert('Post was published.'); 
    } else { 
     alert('Post was not published.'); 
    } 
    } 
); 
     }; 

     (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/all.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 

} 
</script> 

, а затем у меня есть ссылка на это здесь:

<a class="links" onclick='shareFB()' href="#"> Share! </a> 

Но это не работает. Почему нет!

+0

Можете ли вы быть более конкретным, чем «не работает»? – admdrew

+0

Ничего не происходит, когда я нажимаю ссылку. – Milap

+0

Вы должны быть более конкретными, чем это: что вы получаете в своей консоли при устранении неполадок? Что происходит при отладке и выполнении кода? – admdrew

ответ

1

Вы загружаете facebook SDK при нажатии на кнопку, и это неправильный путь, чтобы загрузить его, изменить сценарий к этому:

<div id="fb-root"></div> 
<script> 
window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : '42352352356463', // App ID 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     xfbml  : true // parse XFBML 
    }); 
}; 


// Load the SDK Asynchronously 
(function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/pt_PT/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
}(document)); 


function shareFB(){ 
    var obj = { 
     method: 'feed', 
     name: 'name', 
     caption: 'caption', 
     description: 'description', 
     link: 'http://www.image.com/', 
     picture: 'http://www.image.com/static/3.png' 
    }; 

    function share(response){ 
     if (response && response.post_id) { 
      alert('Post was published.'); 
     } else { 
      alert('Post was not published.'); 
     } 
    } 
    FB.ui(obj, share); 
}; 
</script> 
Смежные вопросы