Javascript Facebook共享:首次单击共享时预览窗口为空

Javascript Facebook共享:首次单击共享时预览窗口为空,javascript,facebook-graph-api,facebook-like,Javascript,Facebook Graph Api,Facebook Like,我的网站上有一个共享按钮(图片)。单击时,以下js将创建共享预览: window.open('https://www.facebook.com/sharer/sharer.php?u=www.mysite.com/thepage/', 'facebook-share-dialog', 'width=626,height=436'); 第一次单击页面上的共享按钮时,预览为空白。它甚至不显示url。如果“共享”窗口关闭,并且再次单击“共享”按钮,则其工作正常 这些页面是用户生成的,因此不可能浏览每

我的网站上有一个共享按钮(图片)。单击时,以下js将创建共享预览:

window.open('https://www.facebook.com/sharer/sharer.php?u=www.mysite.com/thepage/', 'facebook-share-dialog', 'width=626,height=436');
第一次单击页面上的共享按钮时,预览为空白。它甚至不显示url。如果“共享”窗口关闭,并且再次单击“共享”按钮,则其工作正常


这些页面是用户生成的,因此不可能浏览每个页面并确保每个共享按钮都单击过一次,也不可能对每个页面进行筛选。

。我建议使用FB.uiinsted。当然,您必须在上创建一个应用程序


这是密码,祝你好运

因为sharer.php有点缺陷,不推荐使用。我建议使用FB.uiinsted。当然,您必须在上创建一个应用程序


这是密码,祝你好运

我也遇到了同样的问题,并在Facebook的文档中找到了解决方案:

使用og:image:width和og:image:height打开图形标记

使用这些标记将向爬虫指定图像,以便它可以 立即渲染,而不必异步渲染

只需确保打开的图形标记包括宽度和高度,以及图像源。您的元标记应如下所示:


我也遇到了同样的问题,并在Facebook的文档中找到了解决方案:

使用og:image:width和og:image:height打开图形标记

使用这些标记将向爬虫指定图像,以便它可以 立即渲染,而不必异步渲染

只需确保打开的图形标记包括宽度和高度,以及图像源。您的元标记应如下所示:



我也面临着同样的问题。这个问题也发生在我身上——我的js会弹出带有正确url的窗口,但窗口内容只显示一个空共享块。如果我随后导航到该url,或再次单击共享链接,内容会相应显示我也面临相同的问题。这个问题也发生在我身上-my js会弹出带有正确url的窗口,但窗口内容只显示一个空共享块。如果我随后导航到该url,或再次单击共享链接,则内容会相应显示
window.fbAsyncInit = function() {
        FB.init({
            appId      : "xxxxxxx", // App ID
            channelUrl : "YOURDOMAIN/channel.html", // Channel File
            status     : true, // check login status
            cookie     : true, // enable cookies to allow the server to access the session
            xfbml      : true  // parse XFBML
        });
};
function isEmpty(obj) {
    for(var prop in obj) {
        if(obj.hasOwnProperty(prop))
            return false;
    }
    return true;
}

// 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 shareOnWall()
{   
    FB.ui({
        method: "feed",
        link: "www.mysite.com/thepage/", //your site
        picture: "www.mysite.com/thepage/images/someimage.png",
        name: "Some Name",
        caption: "blah blah",
        description: "Message"
    }, shareCallback);
}

function shareCallback(response)
{
    //share was successful
}