То, что я пытаюсь сделать, - это создать поле формы, в котором подсвечены флажки с определенным значением (целое число 7). Если количество проверенных переключателей больше 3, система заполняет диалог обмена «Facebook».Как заполнить диалоговое окно общего доступа Facebook с помощью javascript
Он работает хорошо, если ничего не происходит, но когда я закрываю всплывающее диалоговое окно и нажимаю больше переключателей, даже если число больше 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» после инициализации sdk ... – luschn
Yup it works !!! (: –