0

我正在尝试调整应用程序的画布大小,但无法使 JS SDK 或固定高度设置正常工作。在 chrome 的控制台中,我看到:

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

火狐:

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

我的应用程序画布设置宽度为流体,并固定为 1200 像素(没有效果)。注意:没有可设置选项。

这是我的 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 回答