Aimez et Partager des boutons dans la page de provoquer javascript, des avertissements et des erreurs php
J'ai ajouté de base de Facebook "Like/Share" boutons sur une page web, en utilisant le code copié directement à partir du Facebook Développeurs de page. Il y a 2 parties pour le code: javascript bloc et une balise div avec une classe de "fb-like" Heres le javascript:
<div id="fb-root"></div><script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
Et voici la balise div pour là où je veux que les boutons apparaissent:
<div class="fb-like" data-href="http://www.bethcake.com" data-width="90" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true"></div>
Voici les problèmes que je rencontre:
- Lorsque la page web des charges, je reçois 2 javascript avertissements. Les avertissements reportez-vous à la connect.facebook.net le code source, la ligne 233, pas tout le code que j'ai écrit. Ils sont:
- Invalide App Id: Doit être un nombre ou une chaîne numérique qui représente l'id de l'application.
- FB.getLoginStatus() appelée avant l'appel de FB.init().
- Également au chargement de la page, j'obtiens une erreur php (comme.php.1:948):
- Bloqué un cadre avec origine "http://www.facebook.com" d'accéder à un cadre d'origine "http://www.bethcake.com". Les protocoles, les domaines et les ports doivent correspondre.
Cette erreur est étrange. Tout d'abord, je ne suis pas à l'aide de cadres. Deuxièmement, les protocoles ne match et il n'y a rien ici sur les ports. Bien sûr, les domaines ne correspondent pas: je ne suis pas en train de recueillir des "j'Aime" pour Facebook page; je veux obtenir des "j'Aime" pour un site web externe de la page. Ai-je raté quelque chose?
- J'ai couru à l'URL via le Facebook Open Graph Objet Débogueur. Il a évoqué un certain nombre d'avertissements, je ne comprends pas. Ils sont:
- fb:admins et fb:app_id tags manquants.
- og:title, og:type, et og:image sont manquants.
- og:url, allez:titre,: description,: les propriétés de l'image doit être expressément prévu
Bien, très bien. Mais où et comment suis-je censé ajouter ces? J'ai regardé à travers le Facebook de la documentation et cherché sur stackoverflow, sans succès. Si ceux-ci sont censés être ajouté à la data-href chaîne dans la balise div, merci de me donner un exemple.
<meta property="og:type" content="website">
Ceci suggère que, si j'inclus le fb:app_id balise meta, je voudrais perdre de la première alerte javascript. Aussi loin que je peux dire, je serais encore obtenir le deuxième avertissement. Aussi, je pense maintenant que ce que j'ai décrit comme une erreur php est en fait une erreur javascript. Curieusement, il apparaît dans le Safari de l'Inspecteur Web, mais pas dans Google Outils pour les Développeurs, Opera Dragonfly, ou Firebug.OriginalL'auteur Mark Lamprey | 2013-11-09
Vous devez vous connecter pour publier un commentaire.
J'ai fait le même javascript mises en garde comme vous le mentionnez dans votre première question et l'ajout d'un appId paramètre à l'URL de facebook code résolu les deux d'entre eux. Donc il suffit de changer cette ligne:
à
Pour obtenir un facebook appId, allez à:
https://developers.facebook.com/apps
Ce serait bien si ils ont décrit dans leurs docs...
OriginalL'auteur smohadjer
Espère que vous avez déjà résolu ce problème.
Mais si c'est pour aider quelqu'un, cette réponse aide à propos de la "FB.getLoginStatus()" est appelée avant l'appel de FB.init()" -> https://stackoverflow.com/a/16593474
OriginalL'auteur lol
@Smohajer signalé ci-dessus, vous devez ajouter les appId mais avec le nouveau SDK vous avez besoin de faire quelques petits changements, sinon vous verrez des erreurs ou des avertissements:
Vous aurez à passer avant le 30 avril 2015:
https://developers.facebook.com/docs/apps/upgrading
OriginalL'auteur infinity
Voici ce qui a fonctionné pour moi (trouvé ma réponse ici http://developwithguru.com/solve-invalid-app-id-must-be-a-number-or-numeric-string-representing-the-application-id/)
Fondamentalement,
1)allez à la page développeur
2)créez une nouvelle application
3)obtenir l'id
4)s'appliquent à l'id de votre code..e.g(js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=16digIdHere";)
OriginalL'auteur Ulysses Bravo