PHP и AJAX проблема с кликом - PullRequest
0 голосов
/ 14 сентября 2011

Мне нужна помощь, чтобы заставить это работать.Это работает, но я должен нажать на боковой стороне кнопки «Мне нравится».Я хочу, чтобы он регистрировал щелчок при щелчке по фрейму.Я тоже пытался установить onclick в iframe, но это тоже не сработало.

Это мой скрипт вверху страницы:

<script type="text/javascript">
function updateLikes(id) {
var ajax;

// Code for IE7+, Firefox, Chrome, Opera, Safari
if (window.XMLHttpRequest) {
    ajax=new XMLHttpRequest();
} else { // code for IE6, IE5
    ajax=new ActiveXObject("Microsoft.XMLHTTP");
}

ajax.onreadystatechange=function()
{
if (ajax.readyState==4 && ajax.status==200)
{
document.getElementById("images0").innerHTML=ajax.responseText;
}
}

ajax.open("POST","update_likes.php", false);
ajax.send("image_id=" + id);

}
</script>

Тогда есть то, что я эхо'out:

        echo '
        <div align="center" class="images" id="images'.$i.'">
        <a class="image" border="0" href="p.php?id='.$row['id'].'">
        <img class="img" src="'.$row['path'].'" alt="image" />
        </a>
        <div class="meta" style="padding-bottom:5px;">Lastet opp av <div style="color:#47a09f; display:inline;"><a href="user.php?user='.$row['uploader'].'" style="color:#47a09f;">'.$row['uploader'].'</a></div></div>
        <div id="likebutton" class="faceLike" align="center" onClick="updateLikes(' . "'" . $row['id'] . "'" . ');"><iframe src="//www.facebook.com/plugins/like.php?app_id=144501772249167&amp;href=http://www.puffys.net/p.php?id='.$row['id'].'&amp;send=true&amp;layout=button_count&amp;width=0&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:21px;" allowTransparency="true"></iframe></div>

        </div>
        ';

Моя проблема - кнопка facebook.Когда я нажимаю на него, я хочу, чтобы он регистрировал щелчок с помощью onclick, чтобы он был вставлен в мою базу данных.Но этого не происходит.Только если я нажму сбоку от кнопки «Мне нравится».

Заранее спасибо.

1 Ответ

1 голос
/ 14 сентября 2011

Вы не сможете захватить событие щелчка DIV, так как ему предшествует событие документа ONCLICK из IFRAME.

Кроме того, вы не сможете захватить событие щелчкаIFRAME, поскольку он переопределяется страницей назначения.

Вам необходимо использовать API Facebook, как описано здесь: Обратный вызов кнопки «Нравится» Facebook

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...