我正在使用下面的代码在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>
在那之后,我有一张图片点击该图片,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.');
}
}
);
}
这项工作在chrome和火狐的普通窗口中很好,但当我进入私人窗口时,它显示错误:"https://connect.facebook.net/en_US/all.js“处的资源被阻止,因为启用了跟踪保护。
我做错了什么?
发布于 2016-02-09 20:20:55
这不是你的错!浏览器正在根据已知的脚本列表检查所有下载的脚本文件,以将跟踪信息发送回服务器。在匿名或私密模式下,浏览器出于隐私原因往往会阻止这些脚本。
在https://bugzilla.mozilla.org/show_bug.cgi?id=1226498上针对火狐提出了一个错误报告
发布于 2018-09-07 08:05:36
我成功的唯一方法就是使用
<script src=\"/js/jquery.min.js\" async></script>
然后:
<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>
你可以在谷歌上搜索lazyscript并下载它。
https://stackoverflow.com/questions/35291865
复制相似问题