我刚刚在我的网站上添加了一个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>
标签的高度和宽度都是1000px。如果我检查元素,则会显示此代码。
这是我的代码:
<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>
答案 0 :(得分:3)
我同意这里的其他评论,这种行为是一致的,因此必须是FB的一个特征。该按钮仅在未登录FB时消失。
以下是解决此问题的两种方法:
1
一种方法是使用发送按钮,并将发送属性设置为 true (在HTML5代码样式中,添加属性: data-send="true"
)。此发送按钮不会消失。
2
另一种方法是设置一个css规则(对于HTML5样式):
div.fb-send iframe {width:60px!important;身高:30px!important;}
宽度和宽度高度可以是您想要的任何值。您可能希望为宽度添加更多像素,以适应将“发送”字词转换为4个以上字母的语言。
答案 1 :(得分: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>
答案 2 :(得分:1)
如果您查看@Dementic发布的链接:https://developers.facebook.com/docs/reference/plugins/send/
查看“获取发送按钮”下的示例按钮,您可以在其中设置按钮的样式。看着它 - 40秒后它太消失了。
我有一个与隐形iframe重叠的类似问题,所以我在特定li
添加了一个宽度,我有[发送]按钮,直到我有时间进一步调查。
我前一段时间设置[发送]按钮,它们很好,所以FB最近必须更改一些内容。
我不确定为什么在我的网站和facebook dev链接上面,“发送”按钮会在40秒后消失...
答案 3 :(得分:0)
在我看来,在尝试实施FB Send插件时,你做错了什么。
您的script
代码已损坏,并且您使用的是发送按钮不支持的iframe
。
您应该尝试在https://developers.facebook.com/docs/reference/plugins/send/
创建一个新的确保按照说明正确复制代码。