我以为我昨天看到了一些代码,但我现在找不到链接了。如果用户之前没有喜欢过,我希望向用户提供相似的按钮,但如果他们喜欢,则隐藏不同的按钮。
如果记忆对我很好,我以为我看到了'fb-connect'这一行?
答案 0 :(得分:2)
警告 - 这有点像黑客,谨慎使用。
Facebook将其“喜欢”按钮放在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&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&href=http%3A%2F%2Fmashable.com%2F2011%2F02%2F08%2Finstagram-api%2F&layout=standard&locale=en_US&node_type=link&sdk=joey&show_faces=true&width=625"></iframe>
很抱歉,如果您需要查看完整内容,请将其复制并将其复制到文本编辑器中。
有两个有趣的内容:
首先,它是一个iframe,因此无法获得DOM级别访问实际的“喜欢”文本。你不能做这样的测试:
$('.liketext').text() == 'unlike';
其次,它们在iframe源中方便地提供了21px的默认高度:)注意当你已经喜欢的东西时,div的大小增加到62px。
然后要隐藏“喜欢”按钮,您只需要执行以下操作:
if( $('iframe').height() > 30){ //over 30px? already "liked" it
$('iframe').css('display', 'none');// or remove it from the DOM
}
如果您想在用户点击“赞”按钮后立即隐藏它,可以向iframe的resize事件添加事件处理程序。
FWIW - 这有点蠢,但我怀疑你已经知道了;)