Facebook共享对话框打开空白弹出窗口 - 但在重新加载时有效

Facebook share dialog opens blank popup - but works on reload?

本文关键字:新加载 加载 有效 对话框 共享 空白 窗口 Facebook      更新时间:2023-09-26

直到 2 天前我才有一个工作共享对话框,现在突然间它不再起作用了。我这边没有做任何更改,没有在代码中,也没有在开发人员中心进行任何更改。

突然,单击共享按钮会打开一个空白弹出窗口而不是共享对话框,即使弹出窗口的 URL 正确也是如此。当我重新加载弹出窗口时,它会正确显示对话框!

为简单起见,我在应用程序中创建了一个仅包含共享按钮的测试页面。这是页面的代码:

<!DOCTYPE>
<html>
    <head>
        <script src="https://connect.facebook.net/en_US/sdk.js"></script>
        <meta property="fb:app_id" content="453494284796333" /> 
        <meta property="og:type" content="fircikonline:share" /> 
        <meta property="og:url" content="http://light-speed-games.com/apps/sharebuttons/sharebutton.php?id=58667&desc=Igraj%20i%20ti%20Fircik%20besplatno%20onlajn,%20zabavi%20se%20i%20takmi%C4%8Di%20sa%20prijateljima.&img=https://light-speed-games.com/apps/fircik/images/logo125.png&title=Pobedio%20sam%20u%20Firciku!&url=https://apps.facebook.com/fircikonline/&aid=453494284796333?id=4&desc=Igraj i ti Fircik besplatno onlajn, zabavi se i takmiči sa prijateljima.&img=https://light-speed-games.com/apps/fircik/images/logo125.png&title=Pobedio sam u Firciku!" /> 
        <meta property="og:title" content="Pobedio sam u Firciku!" /> 
        <meta property="og:image" content="https://light-speed-games.com/apps/fircik/images/logo125.png" />
        <meta property="og:description" content="Igraj i ti Fircik besplatno onlajn, zabavi se i takmiči sa prijateljima." />
    </head>
    <body style='padding:0;margin:0;'>
        <div id="fb-root"></div>
        <script>
            FB.init({
                  appId      : '453494284796333',
                  xfbml      : true,
                  version    : 'v2.2'
                });
                function share() {
                FB.ui({
                   method: 'share_open_graph',
                   action_type: 'fircikonline:share',
                   action_properties: JSON.stringify({
                     type: 'fircikonline:share',
                     object: 'http://light-speed-games.com/apps/sharebuttons/sharebutton.php?id=58667&desc=Igraj%20i%20ti%20Fircik%20besplatno%20onlajn,%20zabavi%20se%20i%20takmi%C4%8Di%20sa%20prijateljima.&img=https://light-speed-games.com/apps/fircik/images/logo125.png&title=Pobedio%20sam%20u%20Firciku!&url=https://google.com&aid=453494284796333?id=4&desc=Igraj i ti Fircik besplatno onlajn, zabavi se i takmiči sa prijateljima.&img=https://light-speed-games.com/apps/fircik/images/logo125.png&title=Pobedio sam u Firciku!',
                     href: 'https://google.com'
                   })
                 });
            }
        </script>
        <a href="#" onclick="share();">Share now</a>
    </body>
</html>

这是弹出窗口的URL:单击此处

这是实际的共享按钮,其中包含真实的URL,应用程序ID和所有内容。共享按钮对您不起作用,因为您不是该应用程序的用户,但是如果您给我您的FB ID,我会将您添加为测试用户,您可以自己测试。

我没有抱太大希望,但有没有人知道Facebook现在在做什么以及我如何解决它?

理想情况下,我想让它正常工作,但如果由于任何疯狂的原因而不可能,那么以下任何黑客都可能:

1)在不可见的iframe中加载共享对话框一次,然后在弹出窗口中再次加载它,希望第二个可以工作?

2)让API返回URL,这样我就可以在显示弹出窗口之前直接将其加载到不可见的iframe中,再次希望第二个可以工作?

3)重新加载空白弹出窗口?

4) 两次触发 API,但不知何故强制它在同一个弹出窗口中打开,而不是第二次加载新弹出窗口?

让你的URL在这里工作,你会恢复正常。