最近、XFBML を使用して Facebook のログイン ボタンと Facebook の「いいね」ボタンを実装しました。サイトはhttp://colnect.comでご覧いただけます。
すべてが FireFox、Chrome、Opera、Safari で問題なく動作します。
ただし、IE には「ログイン」ボタンも「いいね」ボタンも表示されず、エラー メッセージも表示されません。
何か案は?
最近、XFBML を使用して Facebook のログイン ボタンと Facebook の「いいね」ボタンを実装しました。サイトはhttp://colnect.comでご覧いただけます。
すべてが FireFox、Chrome、Opera、Safari で問題なく動作します。
ただし、IE には「ログイン」ボタンも「いいね」ボタンも表示されず、エラー メッセージも表示されません。
何か案は?
誰かの役に立てればと思って自分で答えるタイプになりそうです。
Internet Explorer が Facebook を認識できるようにするには、追加する必要があります
xmlns:fb="http://www.facebook.com/2008/fbml"
あなたのhtmlタグに、私にとっては
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en">
私が抱えていた 2 番目の問題は、IE が Array.indexOf() をサポートしていないことでした。
if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i<this.length; i++){
if(this[i]==obj){
return i;
}
}
return -1;
}
}
それが役に立てば幸い。
このコードで問題を解決しました。私の場合、残りのソリューションは機能しませんでした。
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '330984983742',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/<?php echo ($_SESSION["lang"]=="es")?"es_ES":"en_US"; ?>/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
FB.XFBML.parse('fb-stuff');
}());
</script>
それが他の誰かを助けることを願っています。
私にとって、そのトリックを一貫して行ったclass='fb-like'
のは、<fb:like>
タグに追加することでした。