为什么我的Facebook Like按钮坏了?

时间:2011-09-05 18:45:00

标签: facebook facebook-like

我已经看到了几个类似于我所遇到的问题,但我见过的解决方案都没有,包括Facebook lint工具。我的Facebook生成的代码以window.location的escape()为模,目前已被注释掉,并且几乎是一个简单的JavaScript包括:

document.write('<iframe src="http://www.facebook.com/plugins/like.php?app_id=142676242492854&amp;href=' + escape(url) + '&amp;send=false&amp;layout=standard&amp;width=450&amp;show_faces=true&amp;action=like&amp;colorscheme=light&amp;font=verdana&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:167px; height:40px;" allowTransparency="true"></iframe>');

或另一个基于lint工具:

document.write('<iframe src="http://www.facebook.com/plugins/like.php?href=' + escape(url) + " scrolling="no" frameborder="0" style="height: 62px; width: 100%" allowTransparency="true"></iframe>');

有几个调整的东西,我只想要一个裸按钮,没有关于点击按钮的朋友的注释,但我还没有摆弄它;我有另一个问题。

如果点击按钮,它会暂时改变并表示你喜欢它;但按钮的背景不会从浅灰色变为蓝色。此外,它不会影响页面重新加载。

是否有代码可以/应该替换上面的JavaScript以包含一个工作的Like按钮?该网站位于http://JonathansCorner.com,代码行是(注释掉)整个网站的JavaScript包含。

1 个答案:

答案 0 :(得分:4)

document.write是邪恶的,不要使用它。

如果它是一个静态页面(您的网站似乎是这样),那么只需在您想要它的HTML正文中添加iframe。

如果你真的想在JS中添加按钮客户端,请使用JS SDK(https://developers.facebook.com/docs/reference/javascript)并添加如下按钮:

var dynLike = document.createElement('fb:like');
dynLike.setAttribute('href', myEncodedURL);
dynLike.setAttribute('send', 'false');
dynLike.setAttribute('width', '450');
dynLike.setAttribute('show_faces', 'false');
document.body.appendChild(dynLike); // Or wherever you want it
FB.XFBML.parse();