4

我刚刚在我的网站上添加了一个 Facebook 发送插件。一切都很完美,但有时 Facebook 发送按钮消失了。当页面重新加载时,发送按钮再次出现。

这是我的代码:

<div id="fb-root"></div>
<div class="fb-send" data-href="http://www.google.com" ></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_US/all.js#xfbml=1&appId=519408*********";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

</script>

Facebook Send 插件还有一个问题,自动生成的<ifrme>标签高度和宽度都是 1000 像素。如果我检查元素,则会出现此代码。

这是我的代码:

<iframe name="f3ff0f29fc" width="1000px" height="1000px" frameborder="0"  allowtransparency="true" scrolling="no" title="fb:send Facebook Social Plugin" src="" style="border: none; visibility: visible; width: 0px; height: 0px;"></iframe>
4

4 回答 4

3

我同意这里的其他评论,这种行为是一致的,因此必须是 FB 的一个功能。该按钮仅在未登录 FB 时才会消失。

以下是规避此问题的两种方法:

1.

一种方法当然是使用发送属性设置为 true 的发送按钮HTML5代码样式中,添加属性:)。这个发送按钮不会消失。data-send="true"

2.

另一种方法是设置这样的 css 规则(对于 HTML5 样式):

div.fb-发送 iframe {width: 60px !important; 高度:30 像素!重要;}

宽度和高度可以是您希望的任何值。您可能需要为宽度添加更多像素,以适应将“发送”字词翻译成超过 4 个字母的语言。

于 2013-08-30T01:10:39.567 回答
2

添加以下 CSS:

div.fb-send iframe { min-width: 59px !important; min-height: 20px !important; }

然后还将data-width="59" data-height="20"添加到 .fb-send div 以设置起始 iframe 样式高度,避免 1000px 高度,否则会在其下方创建一个不可见的图层禁用按钮。

<div class="fb-send" data-width="59" data-height="20" data-href="http://example.com"></div>
于 2013-09-12T17:44:51.770 回答
1

如果您查看@Dementic 发布的链接:https ://developers.facebook.com/docs/reference/plugins/send/

查看“获取发送按钮”下的示例按钮,您可以在其中设置按钮样式。注意 - 这也会在 40 秒后消失。

我对不可见的 iframe 重叠有一个类似的问题,所以我li在我有我的 [send] 按钮的地方添加了一个宽度,直到我有时间进一步调查。

我不久前设置了[发送]按钮,它们很好,所以FB最近必须改变一些东西。

我不确定为什么在我的网站和上面的 facebook 开发链接上,“发送”按钮会在 40 秒后消失......

于 2013-07-02T15:35:16.340 回答
0

在我看来,您在尝试实现 FB Send 插件时做错了什么。您的script标签已损坏,并且您正在使用iframe“发送”按钮不支持的标签。

您应该尝试在https://developers.facebook.com/docs/reference/plugins/send/创建一个新的

确保您按照说明正确复制代码。

于 2013-07-02T06:47:56.703 回答