gpt4 book ai didi

javascript - 如何使用 JavaScript 重新填充 Facebook 共享对话框

转载 作者:行者123 更新时间:2023-12-03 07:15:45 25 4
gpt4 key购买 nike

我想做的是创建一个表单字段,用于计算具有特定值(整数7)的选中单选按钮。如果选中的单选按钮数量超过3个,则系统填充“Facebook”共享对话框。

如果没有出现任何问题,它运行良好,但是当我关闭弹出对话框并单击更多单选按钮时,即使计数高于 3,Facebook 对话框也不会弹出。我怀疑这是由于初始化造成的问题,但我不知道如何解决该问题。 (而且因为我怀疑,我不确定这个猜测是否也引导我找到正确的解决方案)

下面是我的 javascript 代码来解决这个问题。我真的希望分享任何想法!

最佳

<script>
$(".evaluation").click(function(){
console.log('clicked');
var count = 0;
$(".evaluation").each(function(index,item){
if (item.value == 7){
if (item.checked == true){
count ++;
}
}
});

console.log('count:' + count);

if (count >= 3){

window.fbAsyncInit = function() {
FB.init({
appId : '####',
xfbml : true,
version : 'v2.5'
});

FB.ui({
method: 'share_open_graph',
action_type: 'og.likes',
action_properties: JSON.stringify({
object:'http://www.###.com',
})
}, function(response){
// Debug response (optional)
console.log(response);
});
};

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

);


</script>

最佳答案

您需要在页面加载时使用 window.fbAsyncInitFB.init 一次。不在按钮单击时。不要尝试再次加载和初始化 JavaScript SDK,我假设回调函数不会被调用,因为它已经初始化了。

例如:http://www.devils-heaven.com/facebook-javascript-sdk-login/

关于javascript - 如何使用 JavaScript 重新填充 Facebook 共享对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36436117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com