0

アプリのキャンバスのサイズを変更しようとしていますが、JS SDK または固定の高さ設定が機能しません。クロムのコンソールに次のように表示されます。

Uncaught TypeError: Object #<Object> has no method 'createClass2' on XFBML:13

ファイアフォックス:

FB.Type.createClass2 is not a function on XFBML:13

私は自分のアプリのキャンバス設定を幅の液体に設定しており、1200px に固定しています (これは効果がありません)。注: 設定可能なオプションはありません。

これが私のJS SDKインクルードです。<head>タグの直後です

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '188042251295955', // App ID
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the ...
      xfbml      : true  // parse XFBML
    });

    // Additional initialization code here
    FB.Canvas.setAutoGrow(100); 
  };

  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>

これについて何か助けていただければ幸いです。エラーや不足している設定を見つけることができれば、それは素晴らしいことです。

4

1 に答える 1

0

ここで問題を解決しました。ページに古いスクリプトが含まれているため、スクリプトの読み込み中に JS SDK でエラーが発生していました。

#1: 古い共有ボタンのコード。

function facebookShare(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);
}
//initialize facebookShare
facebookShare(document, 'script', 'facebook-jssdk');

#2: Facebook FeatureLoader (非推奨の JS SDK)

<script src="http://static.ak.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
于 2012-02-28T19:21:11.080 に答える