当用户点击“赞”时,我想在页面上执行某些操作。
我认为像下面这样简单的东西会起作用:
<script type="text/javascript">
$(document).ready(function () {
$('.connect_widget_like_button clearfix like_button_no_like').live('click', function () {
alert('clicked');
});
});
</script>
这是FaceBook提供的iFrame,用于向页面添加Like按钮:
<iframe
id="FBLike"
src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.MySite.Com... blahblahblah"
scrolling="no"
frameborder="0"
style="border:none; overflow:hidden; width:450px; height:80px;"
allowTransparency="true">
</iframe>
我的脚本尝试将click事件绑定到加载页面时加载到iFrame中的锚标记。它不起作用。有什么办法可以让jQuery在点击它时识别出来吗?感谢
答案 0 :(得分:36)
Facebook API不允许您订阅类似的点击事件,但它允许您订阅类似事件(在完成类似操作时触发):
FB.Event.subscribe('edge.create', function(response) {
// like clicked
});
请参阅here。
答案 1 :(得分:4)
制作PHP(或您使用的任何语言)脚本以从http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.MySite.Com... blahblahblah
将来自facebook的源码放入您的html页面,然后您可以使用Facebook中的代码在JavaScript / jQuery中执行任何您喜欢的操作。
PHP中CURL的一些示例 - http://www.php.net/manual/en/curl.examples.php
答案 2 :(得分:3)
您无法使用JavaScript访问不属于当前网址的iframe中的元素,因为我猜您正在使用的域名不是facebook.com,您将无法将事件附加到类似按钮就这样。
答案 3 :(得分:2)
人们可以分别使用edge.create
和edge.remove
来检测像“喜欢”按钮的“喜欢”和“不同”事件。
答案 4 :(得分:0)
<script type="text/javascript">
$(document).ready(function () {
$('.connect_widget_like_button clearfix like_button_no_like').live('click', function () {
alert('clicked');
});
});
</script>