I know this question is asked frequently, but I have not found the solution. I use this code:
我知道这个问题经常被问到,但我还没有找到解决方案。我用这个代码:
open the html tag with
打开html标签
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#">
in the index immediately after the opening tag I entered this
在我打开标签之后立即在索引中输入了这个
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'MY_APP_ID', // App ID from the app dashboard
status : true, // Check Facebook Login status
xfbml : true // Look for social plugins on the page
});
// Additional initialization code such as adding Event Listeners goes here
};
// Load the SDK asynchronously
(function(){
// If we've already installed the SDK, we're done
if (document.getElementById('facebook-jssdk')) {return;}
// Get the first script element, which we'll use to find the parent node
var firstScriptElement = document.getElementsByTagName('script')[0];
// Create a new script element and set its id
var facebookJS = document.createElement('script');
facebookJS.id = 'facebook-jssdk';
// Set the new script's source to the source of the Facebook JS SDK
facebookJS.src = '//connect.facebook.net/it_IT/all.js';
// Insert the Facebook JS SDK into the DOM
firstScriptElement.parentNode.insertBefore(facebookJS, firstScriptElement);
}());
</script>
finally, the button
最后,按钮
<fb:like href="http://mydomain.it/" layout="button_count" action="like" show_faces="false" share="false"></fb:like>
<script>
FB.Event.subscribe('edge.create',
function(href, widget) {
alert('Ti piace ' + href);
});
</script>
the like works, but does not open the alert and I got this error in console.
类似的工作,但没有打开警报,我在控制台中收到此错误。
Uncaught ReferenceError: FB is not defined
Any solutions?
有解决方案?
2 个解决方案
#1
20
See this thread: FB is not defined in Facebook Login.
请参阅此主题:Facebook登录中未定义FB。
You are trying to use FB
right after your button, and it's not defined yet:
您正试图在按钮后立即使用FB,但尚未定义:
<fb:like href="http://mydomain.it/" layout="button_count" action="like" show_faces="false" share="false"></fb:like>
<script>
FB.Event.subscribe(...
^--- FB isn't defined yet!
Move that FB.Event.subscribe
code inside your window.fbAsyncInit
function, where you have that comment "Additional initialization code"
将该FB.Event.subscribe代码移动到window.fbAsyncInit函数中,其中包含该注释“Additional initialization code”
#2
0
Another reason why you get this error is because you are missing ; after the fbAsyncInit definition bracket.
你得到这个错误的另一个原因是你错过了;在fbAsyncInit定义括号之后。
window.fbAsyncInit = function() {
};
#1
20
See this thread: FB is not defined in Facebook Login.
请参阅此主题:Facebook登录中未定义FB。
You are trying to use FB
right after your button, and it's not defined yet:
您正试图在按钮后立即使用FB,但尚未定义:
<fb:like href="http://mydomain.it/" layout="button_count" action="like" show_faces="false" share="false"></fb:like>
<script>
FB.Event.subscribe(...
^--- FB isn't defined yet!
Move that FB.Event.subscribe
code inside your window.fbAsyncInit
function, where you have that comment "Additional initialization code"
将该FB.Event.subscribe代码移动到window.fbAsyncInit函数中,其中包含该注释“Additional initialization code”
#2
0
Another reason why you get this error is because you are missing ; after the fbAsyncInit definition bracket.
你得到这个错误的另一个原因是你错过了;在fbAsyncInit定义括号之后。
window.fbAsyncInit = function() {
};