Jquery 如何解决未定义的错误函数
我试图在facebook墙上发布一张图片,我使用以下代码:Jquery 如何解决未定义的错误函数,jquery,facebook-javascript-sdk,Jquery,Facebook Javascript Sdk,我试图在facebook墙上发布一张图片,我使用以下代码: <script type="text/javascript"> window.fbAsyncInit = function() { FB.init({ appId : 'XXXXXXXX', // replace your app id here channelUrl : 'http://localhost/channel.html', status : true,
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXXXX', // replace your app id here
channelUrl : 'http://localhost/channel.html',
status : true,
cookie : true,
xfbml : true
});
};
(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));
function FBLogin(){
FB.login(function(response){
if(response.authResponse){
window.location.reload();
}
}, {scope: 'email'});
}
function post_on_wall()
{
var share_name = 'rohitashav';
var share_link = 'http://rohitashavsinghal.com';
var share_image = 'http://rohitashavsinghal.com/fb/love.jpg';
var share_caption = 'testing';
var share_description = 'test desc';
var share_redirect = 'http://rohitashavsinghal.com/';
FB.ui(
{
method: 'feed',
name: share_name,
link: share_link,
picture: share_image,
caption: share_caption,
description: share_description
//message: ''
},
function(response)
{
if (response && response.post_id)
{
alert('thanks for sharing!');
window.top.location.href = share_redirect;
}
else
{
alert('Post was not published.');
}
}
}
</script>
window.fbAsyninit=函数(){
FB.init({
appId:'XXXXXXXX',//在此处替换您的应用id
频道URL:'http://localhost/channel.html',
状态:正确,
曲奇:是的,
xfbml:对
});
};
(职能(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);
}(文件);
函数FBLogin(){
FB.登录(功能(响应){
if(response.authResponse){
window.location.reload();
}
},{范围:'电子邮件'});
}
墙上的功能柱()
{
var share_name='rohitashav';
var共享链接http://rohitashavsinghal.com';
var share_图像编辑器http://rohitashavsinghal.com/fb/love.jpg';
var share_标题=‘测试’;
var share_description=‘测试描述’;
风险值份额http://rohitashavsinghal.com/';
FB.ui(
{
方法:“提要”,
姓名:share_name,
链接:共享链接,
图片:共享图片,
标题:共享标题,
description:share\u description
//消息:“”
},
功能(响应)
{
if(应答和应答后id)
{
警惕(“谢谢分享!”);
window.top.location.href=share\u重定向;
}
其他的
{
警报(“未发布帖子”);
}
}
}
并创建了如下按钮:
<input type="button" value="Post on Wall" onClick="post_on_wall();" />
当我点击此按钮时,在控制台
中,我得到以下错误:
post\u-on\u-wall未定义
,而我已定义此函数
为什么出现此错误?您的
FB.ui
呼叫未关闭。您需要添加)代码>在回调函数之后。如果没有此选项,在墙上张贴
功能无效。老实说,我真的很惊讶你没有在控制台中得到一个错误
此外,上面提到的关于包含Facebook JS的调用有一个错位的)
。您需要更改}(文档))代码>至}(文件)代码>我注意到您的代码中有一些错误
一,
如果我的Javascript正确,应该是这样的:
(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);
在FB.UI
调用中,您有几个错误:
FB.ui( //method opened
{
method: 'feed',
name: share_name,
link: share_link,
picture: share_image,
caption: share_caption,
description: share_description
//message: ''
},
function(response)
{
if (response && response.post_id)
{
alert('thanks for sharing!');
window.top.location.href = share_redirect;
}
else
{
alert('Post was not published.');
}
现在,对于打开的方法调用,没有匹配的结束括号)
。如果我要结束此调用,那么我将收到另一个错误FB未定义
@RohitashvSinghal发现另一个问题并更新了我的答案
FB.ui( //method opened
{
method: 'feed',
name: share_name,
link: share_link,
picture: share_image,
caption: share_caption,
description: share_description
//message: ''
},
function(response)
{
if (response && response.post_id)
{
alert('thanks for sharing!');
window.top.location.href = share_redirect;
}
else
{
alert('Post was not published.');
}