web-dev-qa-db-fra.com

Pourquoi ai-je des hits sur les pages avec? Fb_xd_fragment =

J'ai ajouté un Facebook comme une boîte et des boutons semblables sur mon blog et, récemment, j'ai vu sur l'analyse beaucoup de visites sur des pages se terminant par ?fb_xd_fragment=.

J'ai trouvé un fil conducteur sur les forums Facebook qui, de manière inquiétante, mentionne que, pour une raison étrange, les utilisateurs d'IE8 sont redirigés vers une page vierge! C’est terrible, est-ce que je perds une partie importante de mes visiteurs parce que quand ils essaient de visiter mon blog, ils sont accueillis par une page blanche? (Je n'ai pas sous la main un ordinateur Windows avec IE8 pour vérifier)

Toujours sur question connexe sur SO, il est suggéré d’ajouter xmlns:fb="facebook.com/2008/fbml" à la balise principale html (ce que je viens de faire), et d’ajouter un channel.html fichier. Mais je ne peux pas le faire plus tard, car mon blog est hébergé sur blogger et je ne peux pas télécharger de fichiers html.

Donc ma question est double:

  1. même après avoir ajouté le xmlns:fb, cela pourrait-il toujours être un problème qui affecte les visiteurs IE8
  2. comment dois-je m'y prendre pour corriger cela pour mon blog sur blogger?
2
Juan A. Navarro

En regardant le bogue de la plateforme Facebook (marqué "WontFix"), une solution de contournement semble être d'ajouter ce qui suit à vos pages:

De commentaire 14 :

<!-- Correct fb_xd_fragment Bug Start --> 
<script> 
document.getElementsByTagName('html')[0].style.display='block';
</script> 
<!-- Correct fb_xd_fragment Bug End -->

Vous pouvez également envisager de mettre en œuvre la solution proposée par commentaire 66 . Toutefois, comme vous êtes hébergé sur Blogspot, je ne pense pas que cette solution vous soit ouverte, car elle nécessite la création d'un fichier supplémentaire. sur le serveur.

1
Zhaph - Ben Duguid

sur une page liée ( celle-ci ) sur le fil que vous avez lié dit:

Ce Javascript pour échapper à être encadré sur la page est la source du problème:

0) {parent.location.href = location.href; } ->

Lorsque je supprime cela, Internet Explorer fonctionne.

La page fonctionne correctement dans Firefox et Chrome avec le code inclus dans la page.

Malheureusement, je ne peux pas non plus reproduire le problème, mais j'espère que cela aide.

0
xyious

J'ai constaté que cela se produisait sur l'un de mes sites en utilisant AddThis - et cela affecte TOUS les navigateurs, pas seulement Internet Explorer. Je n'ai pas compris exactement comment et pourquoi cela se produit, mais le cadre Facebook parvient à définir l'élément <html> du parent sur display: none.

Il existe cependant une solution de contournement simple - ajoutez simplement ceci à votre feuille de style:

html { 
    display: block !important;
}

Cela remplace le style en ligne et empêche la page de disparaître.

0
DisgruntledGoat

Essayez de regarder ceci correctif

Si vous avez votre FB.init, ajoutez un paramètre channelUrl comme suit:

FB.init({appId: appId, status: true, cookie: true, xfbml: true, channelUrl: 'http://example.com/channel.html'});  
// ^ channel URL above used to workaround fb_xd_fragment bug  

Ensuite, implémentez une page de canal statique spéciale. Sur cette page, indiquez le javascript pour la connexion Facebook comme suit:

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