mar*_*n87 0 jquery scope facebook-javascript-sdk
我想知道是否有人可以帮助解决我遇到的这个问题.
我整个上午都在尝试使用Facebook共享按钮来处理当时正在页面上播放的视频所特有的动态参数.
我认为以下应该可以工作,但我收到错误:share_title未定义.
然后我尝试将div的内容设置为ajax响应的内容,然后将params变量设置为该div的内容,以便变量可以在FB.ui函数内访问,但似乎也不起作用.
有没有人有任何想法?
$('.share_button').live('click', function(e){
$('#player').fadeOut('slow');
var share_id = $(this).attr('id');
$.ajax({
type: 'GET',
url: '/youtube.php',
data: 'share='+ share_id,
success: function(data) {
//$('#params').html(data);
//params = $('#params').html();
param = data.split('--');
share_title = param[0];
share_description = param[1];
share_picture = param[2];
share_views = param[3];
}
});
e.preventDefault();
FB.ui(
{
method: 'feed',
name: share_title,
link: 'http://www.facebook.com',
picture: share_picture,
caption: share_views,
description: share_description
},
function(response) {
$('#player').show('slow');
});
});
Run Code Online (Sandbox Code Playgroud)
该$.ajax调用是异步的.您应该FB.ui在success回调中进行调用,该回调在AJAX请求成功时调用:
$.ajax({
type: 'GET',
url: '/youtube.php',
data: 'share='+ share_id,
success: function(data) {
param = data.split('--');
share_title = param[0];
share_description = param[1];
share_picture = param[2];
share_views = param[3];
FB.ui({
method: 'feed',
name: share_title,
link: 'http://www.facebook.com',
picture: share_picture,
caption: share_views,
description: share_description
},
function(response) {
$('#player').show('slow');
});
}
});
Run Code Online (Sandbox Code Playgroud)