page not link developer custom javascript facebook sdk

javascript - not - share link facebook developer



facebook javascript sdk fb_xd_fragment? (9)

Después de muchas semanas de intentar encontrar una solución, parece que lo que se necesita es una url de canal personalizada como se menciona aquí:

http://developers.facebook.com/docs/reference/javascript/FB.init

Todo lo que hice fue crear el archivo channel.html que contiene esta única línea:

<script src="http://connect.facebook.net/en_US/all.js"></script>

Luego agregué la línea channelUrl: para que el resultado final se vea así:

<div id="fb-root"></div> <script> window.fbAsyncInit = function() { FB.init({ appId : ''MY APP ID'', status : true, // check login status cookie : true, // enable cookies to allow the server to access the session xfbml : true, // parse XFBML channelUrl : ''http://www.example.com/channel.html'' // custom channel }); }; (function() { var e = document.createElement(''script''); e.src = document.location.protocol + ''//connect.facebook.net/en_US/all.js''; e.async = true; document.getElementById(''fb-root'').appendChild(e); }());</script>

Asegúrese de agregar una coma después de xfbml: verdadero si fue su última línea. No estoy familiarizado con Javascript, así que no sé si estoy aprovechando al máximo esto, pero sé que previene el problema de fb_xd_fragment y permite los comentarios de FB en IE. Por lo que puedo decir, esta es la ÚNICA solución disponible en línea. Cualquier otro ajuste es bienvenido.

Estoy usando facebook javascript sdk para insertar un botón me gusta en mi página.

¿Qué es fb_xd_fragment? Veo que se agrega al final de mi url como http://www.example.com/controller/?fb_xd_fragment , y esto está causando una desagradable recarga recursiva de la página.





después de algunos días de investigación y experimento con toda la solución en Internet, por fin se me ocurre una combinación de esto

Cambia el encabezado de tu página:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" lang="en-US">

aquí el cocde pone esto donde quieras, como su botón es:

<div class="yourclass" style="z-index: 10;"> <div id="fb-root"></div> <script src="http://connect.facebook.net/en_US/all.js" ></script> <script>FB.init({appId: ''1234yourappidhere'', status: true, cookie: true, xfbml: true});</script> <fb:like href="http..yourencodedurlswillputhere" layout="button_count" width="150" action="recommend" colorscheme="light"></fb:like></div> <script> document.getElementsByTagName(''html'')[0].style.display=''block'';</script>

crédito bienvenido: http://www.xaluan.com



El hack Channel no funcionó para mí. Así que acabo de agregar sobre todo el resto del contenido de mi archivo PHP algún código que 301 redirija a la URL sin la adición de fb_xd_fragment:

$url = "http://".$_SERVER[''SERVER_NAME''].$_SERVER[''REQUEST_URI'']; if (isset($_GET[''fb_xd_fragment''])) { $url = str_replace("?fb_xd_fragment=","",$url); header( "HTTP/1.1 301 Moved Permanently" ); header("Location: {$url}"); exit(); }


Resuelto con el botón iframe like.


Utilicé el enfoque dentro del script para definir el channelUrl en una página de mi sitio, pero todavía recibí múltiples visitas a esa página.

Después de ver el tráfico resultante con WireShark, noté que ellos (Facebook) usaban un canalUrl para algunas de sus llamadas internas, pasando también fb_xd_fragment. En su lugar, usé esa URL para channelUrl, redirigiéndola fuera de mi sitio.

Tengo varios botones Me gusta en mi sitio usando fbml en lugar de marcos, y en IE7, ya no recibo un golpe de Facebook con el parámetro fb_xd_fragment.

No estoy seguro de si esto es una buena práctica, pero parece funcionar.

Establecí este valor para channelUrl:

''http://static.ak.fbcdn.net/connect/xd_proxy.php''

Espero que esto ayude.