我开发了两个带FB.ui()
次调用的应用程序来发送应用请求,并要求使用“feed”参数发布状态更新。它工作好几个月,但在过去一周我遇到了错误:
c未定义第18行: FB.provide( '大教堂',{containsCss:功能...(oldonload);}其他 oldonload();};})();文件:all.js
我从文件all.js导入以使用网址中的FB对象:http://connect.facebook.net/fr_FR/all.js(我也试过http://connect.facebook.net/en_US/all.js)
这是导致错误的代码部分:
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');
}
}
);
}
在我调用addFriends函数之前,我检查了我的appId并且我有“fb-root”div ...
答案 0 :(得分:1)
“c未定义” - 这是由于mootools冲突而发生的。 在未压缩的mootools文件中,有一个函数“Function.implement({”。你可以通过隐藏它来解决这个问题。
让我知道,如果你得到这个工作。
确切地说。 使用In,Function.implement({ 会有一个“创建:函数(选项){”。 只需通过“创建”重命名“创建”即可。即,制作C - 大写字母。 我希望,这将解决问题。
答案 1 :(得分: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中,将“create”重命名为“create2”,然后将所有“create(”by“create2(”
)替换为它太可怕..但是,有效..
答案 2 :(得分:0)
MooTools 1.4.3版解决了这个问题 - 您可以从Download MooTools 1.4.3下载