我需要一些帮助才能让它发挥作用。它工作,但我必须点击相似按钮的一侧。我希望它在点击iframe时注册点击。我也尝试在iframe中设置onclick,但这也不起作用。
这是我在页面顶部的脚本:
<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>
然后就是我的回声:
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&href=http://www.puffys.net/p.php?id='.$row['id'].'&send=true&layout=button_count&width=0&show_faces=false&action=like&colorscheme=light&font=tahoma&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:21px;" allowTransparency="true"></iframe></div>
</div>
';
我的问题是facebook按钮。当我点击它时,我希望它用onclick注册点击,以便它插入我的数据库。但这不会发生。只有当我点击相似按钮的侧面时。
提前谢谢。答案 0 :(得分:1)
您将无法捕获DIV的click事件,因为来自IFRAME的文档ONCLICK事件先于它。
此外,您将无法捕获IFRAME的click事件,因为它被目标页面覆盖。
您需要使用Facebook API,如下所述:Facebook "Like" button callback