我的页面上有一个类似Facebook的按钮,我想跟踪它被点击的时间(以及由哪个用户等)。我在下面运行了javascript(提示警报“正在运行”),但它没有给出警告“你喜欢这个URL ...”,这是我将放置所有逻辑的地方:
$( document ).ready(function() {
(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/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbAsyncInit = function() {
alert("running")
FB.Event.subscribe('edge.create',
function(response) {
alert('You liked the URL: ' + response);
}
);
};
});
有人知道为什么在单击“喜欢”按钮时没有触发?
修改 我在尝试设置时引用此页面:https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/
编辑2 我通过iframe添加了like按钮(按钮本身正常工作):
<span id="facebook-share-btn">
<iframe src="//www.facebook.com/plugins/like.php?href=<%= item.short_path %>&send=false&layout=button_count&width=450&show_faces=false&font&colorscheme=light&action=like&height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:48px; height:22px;" allowTransparency="true">
</iframe>
</span>
答案 0 :(得分:0)
事实证明,使用iframe方法回调不起作用(显然)。我已经切换到HTML5方法,它工作正常。
<div id='fb-root'></div>
<script>
(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/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
FB.init({appId: "myId", status: true, cookie: true});
</script>
<div class="fb-like"
data-href="myurl.com"
data-send="false"
data-layout="button_count"
data-width="450"
data-show-faces="false">
</div>