JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 即使我刚刚使用它也是未定义的大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试添加一个Facebook Like按钮到我创建的小部件.我用来添加Facebook的按钮到我的页面的代码如下:

widget.html

<body>
<div id="fb-root"></div>
<script>
    window.fbAsyncInit = function() {
        FB.init({
            appId  : '263071593731910',status : false,// check login status
            cookie : true,// enable cookies to allow the server to access the session
            xfbml  : true  // parse XFBML
        });
    };
    (function() {
        var e = document.createElement('script');
        e.src = document.LOCATIOn.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(E);
    }());
</script>
<div id="fb-button"></div>
<script type="text/javascript" src="widget.js"></script>

widget.js

$(function(){
var fb = $(document.createElement("fb:like"));
fb.attr({
    href: data.facebook,send: false,layout: 'button_count',width: 70,'show_faces': false
});
$("#fb-button").empty().append(fb);
FB.XFBMl.parse($("#fb-button").get(0));
FB.Event.subscribe('edge.create',changeView);
});

*在JavaScript中也存在changeView函数.

当我运行代码时,我收到一个错误:未捕获的ReferenceError:即使创建了按钮,FB也没有定义.错误指向包含FB.XFBMl.parse代码的行.在JavaScript中有什么需要做的不同吗?

解决方法

从window.fbAsyncInit开始的那个大脚本块的全部点是,Facebook SDK被异步加载.

即使您已经在一个jQuery文档中调用了FB来调用回调,这还不足以确保在执行代码时加载SDK.

幸运的是,window.fbAsyncInit完全符合这个目的:它将不会运行,直到SDK加载.

Facebook’s docs

大佬总结

以上是大佬教程为你收集整理的javascript – 即使我刚刚使用它也是未定义的全部内容,希望文章能够帮你解决javascript – 即使我刚刚使用它也是未定义的所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。