Я использую этот код для обнаружения как щелчок:
FB.Event.subscribe('edge.create',
function(response) {
//to do...
}
);
и он работает хорошо, так что в чем проблема. Когда пользователь нажимает подобную кнопку, он должен открыть всплывающее окно. Я использую синхронный вызов, который не блокирует всплывающие окна.
$("#div1").click(function(e) {
e.preventDefault();
$.ajax({
url: "./ajax.php",
async: false,
data: "POST",
success: function() {
window.open("./ajax.php","_blank");
}
});
});
Этот код отлично подходит для кнопок, пользовательских divs, изображений... но он не будет работать для подобного объекта, я попытался поместить свойство id в похожий объект или добавить как объект в пользовательский div и обнаружить пользовательский/внешний div-щелчок, но это не сработает.
Я не могу использовать это с FB.Event.subscribe
потому что он асинхронно, а всплывающие блокировки блокируют всплывающее окно. Поэтому мне нужен другой способ обнаружить, как щелчок.
Это классическая проблема с iFrames и сторонним контентом.
Один из способов сделать это - разместить прозрачный div над элементом FB. Наш обработчик кликов для этого div при запуске открывает всплывающее окно. Затем, в том же обработчике, мы затем вызываем щелчок на элементе FB под ним. Если вы публикуете скрипку, я вижу, насколько это возможно с вашей настройкой.
Подобная кнопка находится в iFrame, поэтому вы не можете присоединить обработчик событий. Но вы можете добавить вызов AJAX к функции Facebook:
FB.Event.subscribe('edge.create',
function(response) {
$.ajax({
url: "./ajax.php",
async: false,
data: "POST",
success: function() {
window.open("./ajax.php","_blank");
}
});
}
);