Facebook Partager boîte de Dialogue ne permet pas d'afficher les vignettes d'un premier chargement
Je suis en utilisant le Facebook partager boîte de dialogue pour partager une url spécifique. Le lien partagé contient une image qui devrait faire partie de l'échange plus tard. La chose étrange, c'est qu'il fonctionne très bien sur les navigateurs mobiles. Mais le bureau navigateur ne charge pas l'image, à la première tentative. Un simple rafraîchissement de la fenêtre partage des corrections de l'image manquante. Une fois cette image montre pendant au moins un temps, il continue de travailler dans d'autres navigateurs sans recharge supplémentaire..
Donc ma question est: est-ce quelqu'un sait pourquoi le premier appel de cette url ne pas afficher les images?
Détails
Lien pour l'ouverture de la boîte de dialogue de partage
Voici la sortie de l'Facebook Débogueur, qui est exempt d'erreurs et affiche l'image en tant que bien.
Mise à jour
Semble fonctionner avec l'Alimentation boîte de Dialogue sans aucun problème. Mais c'est une autre façon de partager que je voudrais éviter, car il nécessite un ID d'Application.
- Bonjour, les causes sont peut-être à propos de la taille de l'image utilisée sous forme de vignettes les images à partager.
- Avez-vous des détails à ce sujet?
- Salut, jetez un oeil ici stackoverflow.com/questions/16846871/...
- vérifiez également le document officiel ici developers.facebook.com/docs/reference/dialogs/feed
- Comme je l'ai dit, le Flux Dialogue est travailler à trouver. Même si cela semble étrange, je crois que le Dialogue Partager est de ne pas attendre assez longtemps pour que le résultat de la requête initiale, pour obtenir les images de la page.
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré ce problème et il s'avère que Facebook a un sans-papiers "fonctionnalité", probablement mis en œuvre pour l'optimisation. Il ne prend pas en charge votre image lors de la première action.
Le bug description peut être trouvée ici:
https://developers.facebook.com/bugs/657696104321030
En bref, la solution est l'une des deux possibilités.
Le plus simple est d'inclure og:image:largeur et og:image:hauteur de votre ogtags décrivant les pixels de largeur et hauteur de l'image. Étrangement, ce sera (par conception apparemment) convaincre Facebook de gratter immédiatement le site, notamment les images.
<meta property="og:image" content="http://example.com/image.jpg"/ >
<meta property="og:image:largeur" content="450"/>
<meta property="og:image:hauteur" content="298"/>
La seconde solution est de déclencher un coup de racloir manuellement via l'API. Je n'ai pas testé, mais c'est théoriquement possible. Voir pertinentes Stackoverflow discussion sur ce sujet.
Facebook affiche une image de cache. Il n'est donc la première fois que l'action est soumise ou quand Facebook trouvés og:balise image sur votre page.
Selon Facebook docs à https://developers.facebook.com/docs/sharing/best-practices#pre-cache-images
"Certains de nos Plugins Sociaux d'afficher une image quand quelqu'un est en interaction avec eux. L'image est basée sur l'og:image sur la page, ou d'autres images sur la page si l'og:image n'est pas définie. Avant que le plugin social peut rendre une image Facebook du robot a qu'à voir l'image au moins une fois. Pour les sites où les pages changent fréquemment (par exemple, commerce électronique), la première personne qui clique sur ces plugins ne voyez pas une image rendue."
J'ai trouvé un autre moyen de forcer le facebook robot pour vérifier la page avant de cliquer sur le bouton partager: il suffit d'inclure une iFrame masqué avec le fichier partagé facebook lien.
Exemple:
Je enfin, je crois que j'ai trouvé le problème. Les images que je veux partager sont livrés par un script PHP au lieu d'un fichier brut. Il semble être lié à la façon dont PHP fournit les images:
Mauvais:
Bon:
Après avoir fait ce changement de mes images, enfin apparaître dans l'Facebook débogueur.
Vous pouvez aussi vérifier si
og:image:width
etog:image:height
propriétés.Cela fonctionne pour moi.