2011-07-18 6 views
0

FB.ui()の2つのアプリケーションを開発して、アプリリクエストを送信し、これは、数ヶ月のためにうまくいきましたが、先週のために私はエラーに遭遇されています:"apprequest"と "feed"にFB.uiを使用しています - JSエラー - cが定義されていません

cは未定義行18です: FB.provide(「ドム」、{containsCss:機能...(oldonload)。 } else {};};};};} else {};ファイル:

all.jsそれは私がURLからFBオブジェクトを使用してインポートファイルall.jsからです:http://connect.facebook.net/fr_FR/all.js(私もhttp://connect.facebook.net/en_US/all.jsを試してみました)

これは、エラーの原因となるコードの一部です:私は私のaddFriends関数を呼び出す

window.addEvent('domready', function() { 

    if(jsonRedirection.redirect == false) { 

     FB.init({ 
      appId : FBappId, 
      status : true, // check login status 
      cookie : true, // enable cookies to allow the server to access the session 
      xfbml : true // parse XFBML 
     }); 

    } 

}); 

function addFriends() 
{ 
    FB.ui({ 
     method: 'apprequests', 
     message: 'Test' 
     }, 
     function(response) { 
      if(response != null) { 
       alert('ok'); 
      } 
     } 
    ); 
} 

私は私のAPPIDをチェックして、私は "FB-ルート" のdivを持って前に...

+0

からそれをダウンロードすることができる簡単な例ではに基づいていますあなたが提供したもの:http://fbrell.com/saved/58a66f765babcdd3d7b452afe02b4e41 - 私のためにうまく動作します。たぶんあなたはいくつかの詳細を提供することができますか? – daaku

答えて

1

"cが定義されていない" - これは、MooToolsの競合に発生します。圧縮されていないMooToolsのファイルで 、機能「Function.implementは、({」があります。あなたはこれを隠すことによって、問題を解決することができますが。

あなたがこの作品を取得する場合、私に教えてください。

正確には。 In、Function.implement({ } "create:function(options){"があります。 "Create"で名前を変更します。つまり、Cで大文字にします。 私はこれで解決しますその問題。

1

問題は関数プロトタイプにあります。

Function.implement({ 
extend: function(properties){ 
    for (var property in properties) this[property] = properties[property]; 
    return this; 
}, 

create: function(options){ 

そして、FB SDK機能:

create:function(c,h){var e=window.FB,d=c?c.split('.'):[],a=d.length;for(var b=0;b<a;b++){var g=d[b];var f=e[g];if(!f){f=(h&&b+1==a)?h:{};e[g]=f;}e=f;}return e;} 

ソリューション:MooToolsのでは、 "create2" そして、で "(作成" はすべて交換し、 "作成" 名前の変更 "create2("

その恐ろしいです..しかし、

関連する問題