我在尝试使用 Ajax 调用“facebook like box”时看到一些奇怪的行为。
这个想法是让用户点击一个按钮。 Onclick
,facebook 插件将被调用.load()
并出现。再次 Onclick
,内容将消失。
这样做的原因是为了减少页面加载时的 HTTP 请求。这是实现这一目标的最佳方式吗?
我编写的代码与调用天气页面的另一个函数完美配合。所以我认为这可能与破坏 jquery/函数的 facebook 插件有关?
这是我的 JS fiddle 代码; http://jsfiddle.net/aynzA/2/
您可以在我网站 r.adamtoms.co.uk 的页脚中看到为“天气”工作的代码
<style>.loader{background-color:red;margin: 30px 0;}</style>
<ul>
<li class="facebook-f">
<div class="footer-text">
<a href="#" onclick="return false;">Facebook</a>
</div>
<div class="fb-loader-content"><br>loading wheel</div>
</li>
</ul>
<div class="facebook-content" style="display: none;"></div>
$(".facebook-f").click(function () {
if (!$(".facebook-content").is(':visible')) {
$('.fb-loader-content').addClass('loader');
alert('class added')
$('.facebook-content').load("http://www.google.com", function () {
alert('loaded google, now remove loading wheel')
$('.fb-loader-content').removeClass('loader');
});
$('.facebook-content').toggle();
} else {
$('.facebook-content').toggle();
}
});
非常感谢对此的一些反馈。请原谅我的天真,我是新手。
最佳答案
如果您在浏览器的控制台中查看您的网站,您会看到以下错误:
Uncaught SyntaxError: Unexpected identifier (index):62
Uncaught ReferenceError: FB is not defined core.js:66
Invalid App Id: Must be a number or numeric string representing the application id. all.js:56
FB.getLoginStatus() called before calling FB.init(). all.js:56
我猜测“无效的 App Id”与它无法正常工作的原因有关。
关于jquery - .load 调用 'facebook like box' 破坏了 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21929459/