3

我正在尝试为单击按钮的用户弹出新闻源对话框(在他们的 Facebook 墙上发布内容)。我已经有一个经过身份验证的登录 Facebook 用户(使用 laravel-oauth2 包和 Laravel 4 的内置 Auth 系统)。但是,当我运行以下脚本时,没有任何反应:

<script>
window.fbAsyncInit = function() {
    FB.init({
        appId      : 'APP_ID_HERE',
            status     : true,
            cookie     : true,
            oauth      : true
            xfbml      : true  
    });

    $( '.opener' ).click(function() {
        FB.ui({
            method: 'feed',
            link: 'http://example.com',
            name: 'NEWSFEED',
            caption: 'This is a test',
            description: {{$artist->stage_name}}

            });

      });
};

</script>

按钮:

<a class="add-list-button opener" style="color: white; font:14px / 14px 'DINMedium','Helvetica Neue',Helvetica,Arial,sans-serif;">Play my city</a>

当我单击按钮时,什么也没有发生。你觉得我这里有什么问题吗?如果使用我已经通过身份验证的用户有更好的解决方案,请告诉我。谢谢你。

4

2 回答 2

1

您错过了描述中的引号,因为 {{ $artist->stage_name }} 输出字符串。

添加单引号/双引号后,您的代码应该可以工作(当然,如果单击事件以正确的方式绑定)

<script>
window.fbAsyncInit = function() {
    FB.init({
        appId      : 'APP_ID_HERE',
            status     : true,
            cookie     : true,
            oauth      : true
            xfbml      : true  
    });

    // See changes below
    $(document).on('click', '.opener', function() {
        FB.ui({
            method: 'feed',
            link: 'http://example.com',
            name: 'NEWSFEED',
            caption: 'This is a test',
            description: '{{$artist->stage_name}}'

            });

      });
};

</script>
于 2013-07-11T11:03:15.173 回答
1

当您将侦听器从$('.opener')函数更改为函数时会发生什么$.on()

<script>
window.fbAsyncInit = function() {
    FB.init({
        appId      : 'APP_ID_HERE',
            status     : true,
            cookie     : true,
            oauth      : true
            xfbml      : true  
    });

    // See changes below
    $(document).on('click', '.opener', function() {
        FB.ui({
            method: 'feed',
            link: 'http://example.com',
            name: 'NEWSFEED',
            caption: 'This is a test',
            description: {{$artist->stage_name}}

            });

      });
};

</script>
于 2013-07-09T18:54:15.927 回答