Firefox 如何在“中创建类似按钮”;显示:无“;上下文

Firefox 如何在“中创建类似按钮”;显示:无“;上下文,firefox,facebook-like,Firefox,Facebook Like,当页面加载时,如果其中一个容器是display:none,并且稍后使用display:block使其可见,则Like按钮插件不会出现 仅在Firefox(我的15.0.1版)中检测到问题 我能做什么?当您使元素可见时,您应该将类似fb的插件添加到dom中 即 而不是 display:none display:block 及 而不是 display:none display:block 当您使元素可见时,您应该将类似fb的插件添加到dom中 即 而不是 display:none disp

当页面加载时,如果其中一个容器是
display:none
,并且稍后使用
display:block
使其可见,则Like按钮插件不会出现

仅在Firefox(我的15.0.1版)中检测到问题


我能做什么?

当您使元素可见时,您应该将类似fb的插件添加到dom中

而不是

display:none
display:block

而不是

display:none
display:block

当您使元素可见时,您应该将类似fb的插件添加到dom中

而不是

display:none
display:block

而不是

display:none
display:block

我不知道这个bug(FB或FF)的原因是什么,但我已经通过仅在FF中默认显示我的元素解决了这个问题:

@-moz-document url-prefix() {#exe-article-social-tools { display: block; }}

我不知道这个bug(FB或FF)的原因是什么,但我已经通过仅在FF中默认显示我的元素解决了这个问题:

@-moz-document url-prefix() {#exe-article-social-tools { display: block; }}

fb根标签

JavaScript SDK要求页面中存在fb根元素。 不能使用display:none或visibility:hidden隐藏fb根元素,否则SDK的某些部分将无法在Internet Explorer中正常工作。

fb根标签

JavaScript SDK要求页面中存在fb根元素。
不能使用display:none或visibility:hidden隐藏fb根元素,否则SDK的某些部分将无法在Internet Explorer中正常工作。

我花了一整天的时间才弄清楚,但是使用“测试用户”登录Facebook会使类似按钮不可见。在我的例子中,我总是在Firefox上用我的测试用户登录,而在Chrome上用我的常规Facebook用户注销/登录(我最初认为这是一个浏览器问题)

然而,解决方案就像注销测试用户一样简单

FB文档中规定,并不是所有的功能都为测试用户启用(like按钮就是其中之一),但我认为它至少会得到渲染。
无论如何,我希望这能帮助到别人。

我花了整整一天的时间才弄明白,但是用“测试用户”登录Facebook会使like按钮不可见。在我的例子中,我总是在Firefox上用我的测试用户登录,而在Chrome上用我的常规Facebook用户注销/登录(我最初认为这是一个浏览器问题)

然而,解决方案就像注销测试用户一样简单

FB文档中规定,并不是所有的功能都为测试用户启用(like按钮就是其中之一),但我认为它至少会得到渲染。
无论如何,我希望这能帮助一些人。

我的页面上有许多不同的不可见div,其中隐藏了类似fb的按钮。当显示其中一个div时,其中没有出现类似fb的
按钮。对我来说,有效的解决方案是在每次显示不可见div时手动重新启动FB.init。
FB是一个添加到窗口对象中的全局函数,因为您通过url调用远程facebook api,如
http://connect.facebook.net/en_US/all.js
。因此,由于这个远程脚本连接到您的DOM,您可以运行类似

FB.init({
        appId      : '346094915460000', // App ID
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
    });

我的页面上有许多不同的不可见div,其中隐藏了
fb-like
按钮。当显示其中一个div时,其中没有出现类似fb的
按钮。对我来说,有效的解决方案是在每次显示不可见div时手动重新启动FB.init。
FB是一个添加到窗口对象中的全局函数,因为您通过url调用远程facebook api,如
http://connect.facebook.net/en_US/all.js
。因此,由于这个远程脚本连接到您的DOM,您可以运行类似

FB.init({
        appId      : '346094915460000', // App ID
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
    });

您可以动态地将like button html5代码添加到DOM中,然后再次运行FB解析器以生成like button:

fbbutton.innerHTML = '<div class="fb-like" ... ></div>';
FB.XFBML.parse();
fbbutton.innerHTML='';
FB.XFBML.parse();

您可以动态地将like button html5代码添加到DOM中,然后再次运行FB解析器以生成like button:

fbbutton.innerHTML = '<div class="fb-like" ... ></div>';
FB.XFBML.parse();
fbbutton.innerHTML='';
FB.XFBML.parse();

Dude,说真的,在你的问题中添加你的代码。你可以在我的一个页面上看到这个问题。按右下角的链接“Пбббббб”以显示隐藏的元素。在除FF之外的其他浏览器中效果很好。伙计,说真的,把你的代码添加到你的问题中。你可以在我的一个页面上看到这个问题。按右下角的链接“Пбббббб”以显示隐藏的元素。在除FF之外的其他浏览器中,它工作得很好。谢谢,但我只是想在FF中解决这个问题,并且猜测为所有浏览器执行额外的脚本活动是没有好处的。等待更好的决策使用不透明度:0而不是可见性:隐藏/显示:非但如果使用不透明度:0,元素的高度不为空&出现不必要的空白尝试使用可见性:折叠而不是显示:无(在firefox中有效,但在IE上不起作用,那么您需要一些css技巧)可能是好的,但是如何避免元素的空白呢?现在看看这个网站,我已经为我的元素使用了visibility:collapse谢谢,但我只想在FF中解决这个问题,我想为所有浏览器做额外的脚本活动是没有好处的。等待更好的决策使用不透明度:0而不是可见性:隐藏/显示:非但如果使用不透明度:0,元素的高度不为空&出现不必要的空白尝试使用可见性:折叠而不是显示:无(在firefox中有效,但在IE上不起作用,那么您需要一些css技巧)可能是好的,但是如何避免元素的空白呢?现在查看站点,我已经为我的元素使用了visibility:collapse