Javascript SDK错误和画布大小调整问题

Javascript SDK error and Canvas resizing issue

本文关键字:布大小 调整 问题 SDK 错误 Javascript      更新时间:2023-09-26

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

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

Firefox:

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

我的应用Canvas设置为流体宽度,固定为1200px(没有效果)。注意:没有可设置选项。

这是我的JS SDK包。它就在<头部>标签

<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>

如果能在这方面提供任何帮助,我将不胜感激。如果你能发现任何错误/丢失的设置,那就太好了。

我已经解决了这里的问题。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>