facebook弹出窗口阻止订阅源共享
我有以下功能,用户可以共享提要。下面的代码在大多数浏览器上被弹出窗口拦截器阻止。我已经看到一些关于这个问题的关于堆栈溢出的帖子。其中一个建议使用我尝试过的onclick。我注意到,如果我的facebook sdk失败,我不会得到弹出块。最好的进攻计划是什么。我正在使用phpfacebook弹出窗口阻止订阅源共享,facebook,Facebook,我有以下功能,用户可以共享提要。下面的代码在大多数浏览器上被弹出窗口拦截器阻止。我已经看到一些关于这个问题的关于堆栈溢出的帖子。其中一个建议使用我尝试过的onclick。我注意到,如果我的facebook sdk失败,我不会得到弹出块。最好的进攻计划是什么。我正在使用php <a class="facebook" href="#" onclick='loadSdk(); return false;'></a> <script> function loadS
<a class="facebook" href="#" onclick='loadSdk(); return false;'></a>
<script>
function loadSdk(){
window.fbAsyncInit = function() {
FB.init({
appId : '123', // App ID
channelUrl : 'http://mysite.com/facebook', // Channel File
// status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
if (typeof facebookInit == 'function') {
facebookInit();
}
FB.api('/me', function(user) {
if (user) {
var image = document.getElementById('image');
image.src = 'https://graph.facebook.com/' + user.id + '/picture';
var name = document.getElementById('name');
name.innerHTML = user.name
}
});
};
// 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));
}
function facebookInit(){
var publish = {
method: 'feed',
message: '',
name: '',
caption: '',
description: (
),
link: 'http://mysite.com/',
picture: 'http://mysite.com/fblogo.png',
actions: [
{ name: '123', link: 'http://www.mysite.com/' }
],
user_message_prompt: 'Share your thoughts'
};
FB.ui(publish, null);
}
</script>
函数loadSdk(){
window.fbAsyninit=函数(){
FB.init({
appId:'123',//应用程序ID
频道URL:'http://mysite.com/facebook“,//通道文件
//状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
if(typeof facebookInit=='function'){
facebookInit();
}
FB.api('/me',函数(用户){
如果(用户){
var image=document.getElementById('image');
image.src=https://graph.facebook.com/“+user.id+”/picture”;
var name=document.getElementById('name');
name.innerHTML=user.name
}
});
};
//异步加载SDK
(职能(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);
}(文件);
}
函数facebookInit(){
变量发布={
方法:“提要”,
消息:“”,
名称:“”,
标题:'',
说明:(
),
链接:'http://mysite.com/',
图片:'http://mysite.com/fblogo.png',
行动:[
{名称:'123',链接:'http://www.mysite.com/' }
],
用户\消息\提示:“分享您的想法”
};
FB.ui(发布,空);
}
当前您正在加载SDK onclick–为什么
您希望执行打开弹出窗口的函数–facebookInit,在您的情况下–onclick。当前正在加载SDK onclick–为什么
您希望执行打开弹出窗口的函数–facebookInit在您的情况下–onclick。当前您正在加载SDK onclick–为什么?您希望执行打开弹出窗口的函数–在您的例子中,名称不正确的
facebookInit
–onclick.ah,您的右侧。如果你同意,我就投票。对于其他人,总结一下,我试图加载sdk onclick。当我应该在页面加载时加载sdk,然后发布onclick时,当前您正在加载sdk onclick–为什么?您希望执行打开弹出窗口的函数–在您的例子中,名称不正确的facebookInit
–onclick.ah,您的右侧。如果你同意,我就投票。对于其他人,总结一下,我试图加载sdk onclick。我应该在页面加载时加载sdk,然后单击发布