如果 facebook 不再支持 fbml / xfbml 以及为它们提供的事件处理程序,那么 iframe 的替代方案是什么?

发布于 2024-12-25 21:17:43 字数 1634 浏览 1 评论 0原文

Facebook 目前有针对 Facebook 事件(例如喜欢/推荐)的事件处理程序。但这仅适用于 xfbml 版本的代码。由于 facebook 不再支持 fbml / xfbml (http://www.allfacebook.com/ facebook-markup-language-support-ends-jan-1-2011-12) 我们如何监听 iframe 上的事件?您不能使用 javascript 方法侦听 ids onclick 等,特别是 facebook / twitter 拥有的 iframe。对此还有其他解决方案吗?

谢谢你,但是,

谢谢。我已经在使用新的 Javascript SDK。向下滚动查看我的代码,但我假设这仅适用于 facebook 之类按钮的“xfbml”版本代码?这同样适用于 iframe 吗?基于 http://developers.facebook.com/docs/reference/ 上的本文的假设plugins/like/

XFBML(也可用于兼容 HTML5 的标记)版本更加通用,但需要使用 JavaScript SDK。 XFBML 根据是否有要显示的个人资料图片动态调整其高度,使您能够(通过 Javascript 库)侦听类似事件,以便您实时了解用户何时单击“喜欢”按钮,并且它总是让用户能够添加可选的评论。如果用户确实添加了评论,那么发布回 Facebook 的故事就会更加突出。

window.fbAsyncInit = function() {

   FB.init ({
     appId      :  ,// App ID
     channelUrl : ,// Channel File
     status     : true, // check login status
     cookie     : true, // enable cookies to allow the server to access the session
     xfbml      : true  // parse XFBML

   });

    // Listen to click event 
       FB.Event.subscribe('edge.create', function(response) {
     // Do something, e.g. track the click on the "Like" button here
      $('#someDiv').show();

     });

 };

 // Load the SDK Asynchronously
(function() {
 var e = document.createElement('script');
 e.type = 'text/javascript';
 e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
 e.async = true;
 document.getElementById('fb-root').appendChild(e);
 }());

Facebook currently has event handlers for facebook events such as like / recommend. But this is available only for xfbml version of the code. Since facebook is no longer supporting fbml / xfbml (http://www.allfacebook.com/facebook-markup-language-support-ends-jan-1-2011-12) how do we listen to events on iframes? You cannot use javascript methods listening to ids onclick and etc, esp for iframes owned by facebook / twitter. Is there any other solution to this?

Thank you but,

Thanks. I am already using the new Javascript SDK. Scroll down for my code, but I am assuming that this works only for the "xfbml" version of code for facebook like button? does the same apply for iframes too? Assumption based on this text on http://developers.facebook.com/docs/reference/plugins/like/:

The XFBML (also available in HTML5-compliant markup) version is more versatile, but requires use of the JavaScript SDK. The XFBML dynamically re-sizes its height according to whether there are profile pictures to display, gives you the ability (through the Javascript library) to listen for like events so that you know in real time when a user clicks the Like button, and it always gives the user the ability to add an optional comment to the like. If users do add a comment, the story published back to Facebook is given more prominence.

window.fbAsyncInit = function() {

   FB.init ({
     appId      :  ,// App ID
     channelUrl : ,// Channel File
     status     : true, // check login status
     cookie     : true, // enable cookies to allow the server to access the session
     xfbml      : true  // parse XFBML

   });

    // Listen to click event 
       FB.Event.subscribe('edge.create', function(response) {
     // Do something, e.g. track the click on the "Like" button here
      $('#someDiv').show();

     });

 };

 // Load the SDK Asynchronously
(function() {
 var e = document.createElement('script');
 e.type = 'text/javascript';
 e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
 e.async = true;
 document.getElementById('fb-root').appendChild(e);
 }());

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文