Facebook FB.Event.subscribe событие не срабатывает:(

#javascript #facebook

#javascript #Facebook

Вопрос:

Я пытаюсь вывести всплывающее предупреждение, когда пользователь нажимает кнопку «Мне нравится», используя этот плагин Facebook на моем asp.net страница веб-форм. К сожалению, кнопка не отображается:

Страница:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <div id="Div1">
    </div>
    <script type="text/javascript">
        (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#xfbml=1";
            fjs.parentNode.insertBefore(js, fjs);
        } (document, 'script', 'facebook-jssdk'));</script>
    <form id="form1" runat="server">
    <div>
        <div id="fb-root">
        </div>
        <fb:like href="www.goal.com" send="true" width="450" show_faces="true">
        </fb:like>
        <script src="http://connect.facebook.net/en_US/all.js"></script>
        <script>
            FB.init({
                status: true, // check login status
                cookie: true, // enable cookies to allow the server to access the session
                xfbml: true  // parse XFBML
            });
        </script>
        <script type="text/javascript">

            FB.Event.subscribe('edge.create',
    function (response) {
        alert('You liked the URL: '   response); //this does not fire?
    });

        </script>
    </div>
    </form>
</body>
</html>
  

Ответ №1:

Попробуйте загрузить свой javascript асинхронно, см.:http://fbdevwiki.com/wiki/FB.init или http://developers.facebook.com/blog/post/530 / для примера кода.

Кроме того, ваш FB.Init() отсутствует oauth: true и appID: xxxx , oauth 2.0 является обязательным. Дайте нам знать, если это сработает.