我已经实施了Facebook分享按钮,如下所示:
<div id="fb-root"></div>
<script>(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_GB/sdk.js#xfbml=1&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://www.facebook.com/bookf1" data-layout="button_count" data-share="false" data-width="180" data-show-faces="false" data-font="tahoma"></div>
<div class="fb-share-button" data-type="button"></div>
它按预期出现在我的网站上,点击它会显示带有预期显示的sharer.php。但是,当我点击“共享链接”按钮时,它会显示“思考”动画一秒钟然后没有任何反应。 sharer.php弹出窗口仍保留在屏幕上。
如果我尝试通过私信分享链接,我会收到错误消息“无法找到附件”。
这是在可公开访问的网址上运行。
任何建议都会受到高度赞赏,因为我似乎无法在其他地方找到这个问题。
谢谢!
答案 0 :(得分:1)
我遇到了一个类似症状的类似问题,浪费了一些时间。
单击我的共享按钮后,打开了预期的弹出窗口。在url中可以看到sharer.php被调用了一个未知(至少对我来说)app-id作为参数。为相关网站创建Facebook应用程序并将新创建的app-id作为参数..
<div id="fb-root"></div>
<script>(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/de_DE/sdk.js#xfbml=1&appId=MY_APP_ID&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
..它有效。
出于调试目的,为js.src添加另一个源可能会有所帮助:
[...]
js.src = "//connect.facebook.net/de_DE/sdk/debug.js[...]
[...]
这会将调试消息记录到js-console。 (可以在这里阅读:https://developers.facebook.com/docs/javascript/quickstart/v2.0#advancedsetup)