Това изглежда се случи без никакви промени от моя страна. Изведнъж всеки браузър освен Chrome не обработва маркера fb:login-button, а просто показва всеки текст в маркера като обикновен текст.
След като ровех мрежата с часове, търсейки възможни причини/решения, не намерих нищо, което да се отнася до това конкретно поведение.
И така, създадох най-основния пример, който мога да илюстрирам проблема, и го поставих тук: http://silverbucket.net/examples/fblogin/welcome.htm
Горният пример показва поле за вход във fb в Chrome, но не и във Firefox, IE или Opera.
В обобщение, какво има на страницата в горната връзка, първо има html таг в горната част, който имам:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/" lang="en">
В главата имам:
<script src="http://connect.facebook.net/en_US/all.js"></script>
В тялото, точно под заглавката имам:
<div id="fb-root"></div>
След това има истинския бутон за влизане в fb:
<fb:login-button scope="email, user_interests, user_likes, publish_stream">log in with facebook</fb:login-button>
И в долната част на страницата, точно преди затварянето на етикета body, имам FB JavaScript:
<script>
$(document).ready(function() {
window.fbAsyncInit = function() {
FB.init({
appId : '153787078069017',
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
//channelUrl : '/channel.html', // channel.html file
oauth : true, // enable OAuth 2.0
status : false
});
// whenever the user logs in, we refresh the page
FB.Event.subscribe('auth.login', function(response) {
if (response.authResponse) {
window.location.href="http://example.com/fblogin";
}
});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
});
</script>
Нищо сложно... и не се случва само на моя Firefox, но и на всеки колега, с когото съм проверявал.