[尝试与FB.ui建立共享机制。问题是共享对话框将打开一个弹出窗口,而不是在同一页面中打开。我尝试避免弹出窗口的原因是,Safari浏览器不会在移动设备中显示弹出窗口。
<script>
$(document).ready(function()
{
$.ajax(
{
url: '//connect.facebook.net/en_US/sdk.js',
dataType: 'script',
cache: true,
success:function(script, textStatus, jqXHR)
{
FB.init({
appId : 'someID',
autoLogAppEvents : true,
xfbml : true,
version : 'v3.0'
});
share();
}
});
});
function share() {
FB.ui(
{
method: 'share',
href: 'https://example.com',
quote: 'Some description',
title : 'Title',
hashtag: null,
display: 'iframe'
},
response => {
window.parent.postMessage(
{
earningRule: 'fb_share',
action: 'shared',
response: response
}
);
}
)
}
</script>
有什么方法可以避免弹出窗口或解决Safari弹出窗口阻止问题?
提前感谢
主要问题是您试图在AJAX请求的回调函数中打开对话框。您必须直接在鼠标交互上使用FB.ui
,否则它将被浏览器阻止。
如果不起作用,您可以改用sharer.php:https://developers.facebook.com/docs/workplace/sharing/share-dialog/?locale=de_DE#sharedialogvialink