gpt4 book ai didi

ruby-on-rails - facebook 喜欢按钮在 rails 中使用不显眼的 js

转载 作者:数据小太阳 更新时间:2023-10-29 08:29:01 25 4
gpt4 key购买 nike

我刚刚通过将以下标记添加到 html.erb 页面中,在我的 Rails 应用程序中放置了一个类似于 facebook 的按钮:

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js#appId=1419...&amp;xfbml=1"></script><fb:like href="" send="" width="100" show_faces="" font="" layout="button_count" action="recommend"></fb:like>

并且...工作正常,但在加载 facebook sdk 时页面上有一个很大的空白区域。所以,我想我会尝试将其放入我的 application.js 文件并在页面加载后运行该函数。唯一的问题是我根本无法让它工作:)

到目前为止,我在 html 中保留了“fb-root”div,并将以下函数放入 application.js

$(function() {
$('#fb-root').after('<script src="http://connect.facebook.net/en_US/all.js#appId=1419...&amp;xfbml=1"></script><fb:like href="" send="" width="100" show_faces="" font="" layout="button_count" action="recommend"></fb:like>');
});

但是,这对我不起作用,我不明白为什么(我是 js 新手)。任何帮助将不胜感激。谢谢!

最佳答案

您应该加载 javascript 函数 asynchronously :

<script>
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>

然后,一旦加载了 javascript 库,它就会将您的 fbml 类按钮转换为适当的 html iframe 代码。如果它在加载之前显示空白,请将类似按钮的 fbml 代码放在一个 div 中,并使用 css 设置该 div 的样式。

这是一个完整的示例,没有您正在谈论的问题(我异步加载 javascript 库,定时延迟以模拟缓慢加载。请注意加载按钮加载时没有白色。

<!DOCTYPE html>
<html>
<body bgcolor="#000">
<div id="fb-root"></div>
<fb:like href="http://stackoverflow.com" send="" width="100" layout="button_count" action="recommend"></fb:like>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});
};
(function() {
// delay to simulate slow loading of Facebook library - remove this setTimeout!!
var t = setTimeout(function() {
alert('loading fb');
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}, 3000);
}());

</script>
</body>
</html>

关于ruby-on-rails - facebook 喜欢按钮在 rails 中使用不显眼的 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6542123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com