私がしようとしているのは、チェックされたラジオボタンを特定の値(整数7)で数えるフォームフィールドを作ることです。チェックされたラジオボタンの数が3を超える場合、システムは「Facebook」共有ダイアログを入力します。JavaScriptを使って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>
したがって、最初はfbAsyncInitがポップアップしないようにします。私はある条件が満たされたらそれをアクティブにしたい。そこに行くためのヒントを教えてくれませんか? (: –
うん、ブール変数を使用し、それを "true"に設定してください。... – luschn
それはうまくいく!!!(: –