Po wielu tygodniach starając się znaleźć rozwiązanie wygląda na to, co jest potrzebne, to url niestandardowy kanał jak wspomniano tutaj:
http://developers.facebook.com/docs/reference/javascript/FB.init
Wszystko zrobiłem było stworzenie channel.html plik zawierający ten pojedynczy linia:
<script src="http://connect.facebook.net/en_US/all.js"></script>
Potem dodał channelUrl: linia więc wynik końcowy wygląda tak:
<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>
Upewnij się, że dodajesz przecinek po xfbml: true, jeśli była to twoja ostatnia linia. Nie znam JavaScriptu, więc nie wiem, czy w pełni go wykorzystuję, ale wiem, że zapobiega on problemowi fb_xd_fragment i pozwala na komentarze FB w IE. O ile mogę powiedzieć, jest to TYLKO rozwiązanie dostępne w Internecie. Wszelkie dalsze poprawki są mile widziane.
Otrzymuję to samo zachowanie, serwer otrzymuje dwa żądania - 1 ze standardowym identyfikatorem URI; drugi z URI? fb_xd_fragment. Jednak wydaje się, że dzieje się to tylko w IE - dokładniej IE7. Czy udało Ci się uzyskać więcej informacji na ten temat? Wszystko z FB: http://forum.developers.facebook.com/viewtopic.php?pid=232516 i otwarty błąd: http://bugs.developers.facebook.com/show_bug.cgi?id=9777 –
Tak, bardzo specyficzne dla IE7, użyłem zamiast tego wersji Iframe, mam nadzieję, że ktoś naprawi ten błąd. –