J'ai cherché ce problème dans tous les sens et je peux facilement le reproduire. J'utilise la dernière version de PHP SDK et le JS provient directement de facebook via une connexion HTTPS. Mon 'MyAppId' et mon domaine ont été changés dans le code qui suit. Remplacez-les par les vôtres pour reproduire le problème.
Ceci avec Firefox 8 et Firebug.
Code à reproduire : [ ]
<body>
<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: 'MyAppID',
status: true,
oauth : true,
cookie: true,
channelURL : 'https://www.mydomain.com/channel.html'
});
FB.Canvas.setAutoResize();
FB.Canvas.scrollTo(0,0);
};
(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>
Test
</body>
</html>
`
Ce sont certainement les appels à FB.Canvas qui génèrent l'erreur. Si je commente les deux, pas d'erreur. Si je décommente l'un ou l'autre ou les deux - Error.
Le code fonctionnait parfaitement jusqu'à il y a quelques jours. Il ciblait le haut de la page et mettait l'iframe à l'échelle correctement. Je pense qu'il s'agit d'une erreur FB JS.