2011-02-08 57 views
-1

我以为我昨天看到了一些代码,但现在找不到链接。如果他们之前没有喜欢,我希望向用户展示类似的按钮,但如果他们喜欢,则隐藏不同的按钮。Facebook,一旦用户喜欢网站,可以隐藏'不同'按钮吗?

如果内存为我服务,我以为我看到了'fb-connect'这一行?

+6

我本来认为限制你的用户通过这种方式将是非常不受欢迎的 - 人犯错误,改变他们的想法,并改变他们的兴趣。 – 2011-02-08 09:34:18

回答

2

警告 - 这有点破解,谨慎使用。

Facebook将其“like”按钮放入iframe中。下面是一些示例代码,我脱下mashable.com:

<iframe id="f17d5477e8" name="fe09b2668" scrolling="no" style="border-width: initial; border-color: initial; overflow-x: hidden; overflow-y: hidden; width: 625px; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; border-width: initial; border-color: initial; height: 23px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; " title="Like this content on Facebook." class="fb_ltr" src="http://www.facebook.com/plugins/like.php?api_key=1897dc5133d45afc31d3c4448572a681&amp;channel_url=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%3Fa%3Da%23cb%3Df22b1d5684%26origin%3Dhttp%253A%252F%252Fmashable.com%252Ff218c30e6%26relation%3Dparent.parent%26transport%3Dpostmessage&amp;href=http%3A%2F%2Fmashable.com%2F2011%2F02%2F08%2Finstagram-api%2F&amp;layout=standard&amp;locale=en_US&amp;node_type=link&amp;sdk=joey&amp;show_faces=true&amp;width=625"></iframe> 

很抱歉,如果这是一个有点难以阅读,复制粘贴到文本编辑器,如果你需要看整个事情。

有关于这个两个有趣的位:

首先,其实际的iframe因此让DOM级别访问“喜欢”的文字是不可能的。你不能做一个测试是这样的:

$('.liketext').text() == 'unlike'; 

其次,它们方便地提供的21px默认高度在iframe来源:)注意,当你已经喜欢的东西的大小股利增加到62px。

然后隐藏的“Like”按钮,你只需要做这样的事情:

if($('iframe').height() > 30){ //over 30px? already "liked" it 
    $('iframe').css('display', 'none');// or remove it from the DOM 
} 

您可以将事件处理程序,如果你想隐藏它在用户点击后立即添加到iframe的resize事件像按钮一样。

FWIW - 这是一个有点scuzzy做,但我怀疑你已经知道了;)

相关问题