在Facebook Feed对话框中使用来自外部js脚本的javascript var(js版本)

时间:2012-05-23 22:25:42

标签: javascript jquery facebook facebook-javascript-sdk

我希望这是可能的。我有一个HTML文件,使用以下代码加载js文件:<script src="js.js"></script> 在这个脚本中有一个var:var score = 0;当人们获得积分时,这个变化会发生变化。

现在在同一个HTML文件中,我添加了以下Dialog脚本(有关详细信息,另请参阅https://developers.facebook.com/docs/reference/dialogs/feed/):

FB.init({appId: "xxxxxxxxxxxxx", status: true, cookie: true});

function postToFeed() {
    // calling the API ...
var obj = {
        method: 'feed',
    link: 'https://developers.facebook.com/docs/reference/dialogs/',
    picture: '',
    name: 'I just got a new high score of [xx] points!',
    caption: 'Think you can do better?',
    description: 'Join me.'
};

function callback(response) {
    document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
}

FB.ui(obj, callback);
}

此脚本有效,并出现对话框。现在在[xx] points部分,我想展示人们获得的积分。

我尝试了以下内容:

使用js.js文件中的<input type="text" id="score" name="score" value="0" readonly />将var结果推送到输入字段$('#score').val(document.getElementById('sc').innerHTML);,这导致得分显示在输入字段中。

然后尝试[xx]部分:' + document.getElementById('score').innerHTML + ',但这不起作用。也许这种方法是错误的并且有更好的方法,但我如何在对话框中显示分数?

亲切的问候,

莫里斯

1 个答案:

答案 0 :(得分:1)

据我所知,score是一个全局变量。你可以这样做:

var obj = {
    method: 'feed',
    link: 'https://developers.facebook.com/docs/reference/dialogs/',
    picture: '',
    name: 'I just got a new high score of ['+ score +'] points!',
    caption: 'Think you can do better?',
    description: 'Join me.'
};