0

Я пытаюсь изменить размер холста для приложения, но я не могу заставить JS SDK или фиксированную настройку высоты работать. В консоли хрома я вижу:Ошибка Javascript 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 (который не имеет никакого эффекта). Примечание: нет опции Settable.

Вот мой 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> 

Я был бы признателен за любую помощь по этому вопросу. Если вы можете обнаружить любые ошибки/отсутствующие настройки, это было бы здорово.

+0

Какая функция и как на самом деле вы звоните, когда получаю сообщение об ошибке? – kirilloid

+0

FB.Canvas.setAutoGrow (100) - единственный. Насколько я могу судить, я не собираюсь звонить. Я уверен, что это ошибка при загрузке скрипта, потому что fbAsyncInit никогда не вызывается. – Eric

+0

Вы уверены, что можете просто назвать это, а не каким-то другим обратным вызовом? – kirilloid

ответ

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>