Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何异步加载facebook sdk_Javascript_Php_Wordpress_Facebook - Fatal编程技术网

Javascript 如何异步加载facebook sdk

Javascript 如何异步加载facebook sdk,javascript,php,wordpress,facebook,Javascript,Php,Wordpress,Facebook,我正在使用以下代码在facebook上共享 <div id="fb-root"></div> <script> window.fbAsyncInit = function() { FB.init({ appId : "1549906631990069", status : true, cookie : true, xfbml

我正在使用以下代码在facebook上共享

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
  FB.init({
  appId                : "1549906631990069",
  status               : true, 
  cookie               : true, 
  xfbml                : true, 

  oauth: true,
  frictionlessRequests : true
});
};

(function(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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

</script>

window.fbAsyninit=函数(){
FB.init({
appId:“1549906631990069”,
状态:正确,
曲奇:是的,
xfbml:是的,
真的,
无摩擦要求:正确
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/all.js”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
在此之后,我有一个点击该图像的facebook共享弹出窗口即将到来

<script type="text/javascript">
function shareOnFacebook() {
    var $temp = $(".wpProQuiz_points").find("span");
                    var scored = $temp.eq(2).text();

  FB.ui(
  {
    method        : 'feed',
    display       : 'iframe',
    name          : 'I have Scored '+ scored + ' in edumongoose quiz.',
    link          : 'https://quiz.dev.edumongoose.com'
  },
  function(response) {
    if (response && response.post_id) {
      alert('OK! User has published on Facebook.');

    } else {
      alert('Post was not published.');
    }
  }
);

函数shareOnFacebook(){
var$temp=$(“.wpproquick_points”)。查找(“span”);
var得分=$temp.eq(2.text();
FB.ui(
{
方法:“提要”,
显示:“iframe”,
姓名:“我在edumongoose测验中得了“+分+”,
链接:'https://quiz.dev.edumongoose.com'
},
功能(响应){
if(应答和应答后id){
警报('确定!用户已在Facebook上发布');
}否则{
警报(“未发布帖子”);
}
}
);
}

在chrome和firefox普通窗口中工作良好,但当我进入私人窗口时,它会显示错误: “”处的资源已被阻止,因为已启用跟踪保护


我做错了什么?

这不是你的错!浏览器正在对照已知可将跟踪信息发送回服务器的脚本列表检查所有下载的脚本文件。在匿名模式或私有模式下,浏览器出于隐私原因往往会阻止这些脚本


上针对Firefox提出了一个bug报告,这是我成功使用的唯一方法

    <script src=\"/js/jquery.min.js\" async></script>

然后:


$(文档).ready(函数(){
变量选项={
类型:“延迟”,
时间:1000,//1秒
脚本:[
"http://connect.facebook.net/en_US/all.js#xfbml=1&appI$
"http://assets.pinterest.com/js/pinit.js"
],
成功:函数(){
init({status:true,cookie:true,xfbml:true});
}
};
$.lazyscript(可选);
});

你可以在谷歌上搜索lazyscript并下载它。

我如何禁用它,通过javascript?@JohnD.Doucette你为什么要禁用它?人们经常使用匿名模式来阻止Facebook等服务跟踪他们的活动。一个更优雅的解决方案是在匿名模式下禁用尽可能少的功能,但是向用户播放一条建议,如果他们想体验你的完整网站,就应该停止私下浏览。这是故意的,不应该有任何方法阻止这种情况发生。否则,整个私人模式的概念将毫无意义。@Chris J为什么要编辑?自从我的回答是这是故意的行为。
    <script>
     $(document).ready(function () {
     var options = {
     type: "delay",   
     time:1000, //1 sec
     scripts: [
                    "http://connect.facebook.net/en_US/all.js#xfbml=1&appI$
                    "http://assets.pinterest.com/js/pinit.js"
                            ],
     success: function () {
         FB.init({ status: true, cookie: true, xfbml: true });
     }
    };
    $.lazyscript(options);

   });
   </script>