Javascript 如何调试丢失的类似Facebook的按钮?

Javascript 如何调试丢失的类似Facebook的按钮?,javascript,jquery,dom,facebook-like,Javascript,Jquery,Dom,Facebook Like,我正在尝试使用jQuery将Like按钮和Tweet按钮附加到页面上。Tweet按钮工作正常,但是Like按钮不会出现。我不知道出了什么问题,但更糟糕的是,我没有收到任何错误或提示问题的消息 我如何才能让Facebook、Firebug或任何东西告诉我缺少什么,或抛出适当的错误 这是一本书 以下是不想使用JSFIDLE的人的完整代码: /** * Generate the container elements for social media stuff. */ $(function gen

我正在尝试使用jQuery将Like按钮和Tweet按钮附加到页面上。Tweet按钮工作正常,但是Like按钮不会出现。我不知道出了什么问题,但更糟糕的是,我没有收到任何错误或提示问题的消息

我如何才能让Facebook、Firebug或任何东西告诉我缺少什么,或抛出适当的错误

这是一本书

以下是不想使用JSFIDLE的人的完整代码:

/**
 * Generate the container elements for social media stuff.
 */
$(function generateSocMedElements($) {
    var id = "socmed",
        $container,
        $fb_root,
        $fb_like,
        $tweet_button;
    if ($("#" + id).length <= 0) {
        $container = $(document.createElement("aside")).
            addClass("socmed").
            attr("id", id);
        $fb_root = $(document.createElement("div")).attr("id", "fb-root");
        $fb_like = $(document.createElement("div")).
            addClass("fb-like").
            attr("data-href", "example.org").
            attr("data-send", "false").
            attr("data-layout", "button_count").
            attr("data-width", 82).attr("data-show-faces", "false");
        $tweet_button = $(document.createElement("a")).
            addClass("twitter-share-button").
            attr("href", "//twitter.com/share").
            attr("data-count", "none").
            text("Tweet");
        $container.
            appendTo($("header").first()).
            append($fb_root).
            append($fb_like).
            append($tweet_button);
    }
});

/**
 * Load the script for the Facebook API.
 */
$(function loadFacebook($) {
    var id = "facebook-jssdk";
    if ($("#" + id).length <= 0) {
        $(document.createElement("script")).
            attr("id", id).
            attr("src", "//connect.facebook.net/en_US/all.js").
            appendTo("head");
    }
});

/**
 * Load the script for the Twitter API.
 */
$(function loadTwitter($) {
    var id = 'twitterSdk';
    if ($("#" + id).length <= 0) {
        $(document.createElement("script")).
            attr("id", id).
            attr("src", "//platform.twitter.com/widgets.js").
            appendTo("head");
    }
});
/**
*生成社交媒体内容的容器元素。
*/
$(函数generateSocMedeElements($){
var id=“socmed”,
$container,
$fb_root,
$fb_like,
$tweet_按钮;
如果($(“#“+id).length我可以在

  • 在标题中添加div标记
  • 在函数中包装generateSocMedElements(),并在页面加载后调用
  • 使用facebooks html5脚本
  • .你必须仔细检查才能得到想要的外观

    <header><h1>OH HAI I HAZ A HEADER</h1>
    <div id="fb-root"></div>
    </header>
    
    OH HAI I HAZ A头
    

    /**
    *加载Facebook API的脚本。
    */
    (功能(d、s、id){
    var js,fjs=d.getElementsByTagName[0];
    if(d.getElementById(id)){return;}
    js=d.createElement;js.id=id;
    js.src=“//connect.facebook.net/en_US/all.js#xfbml=1”;
    fjs.parentNode.insertBefore(js,fjs);
    }(文档“脚本”、“facebook jssdk”);
    /**
    *加载Twitter API的脚本。
    */
    $(函数loadTwitter($){
    变量id='twitterSdk';
    
    if($(“#”+id).length你到底想用这段代码实现什么?据我所知,你正在尝试动态加载按钮……但是你使用“#”和“id”来选择元素,还使用了“addClass”。你想找“Like”和“Tweet”吗页面上的链接并用动态生成的按钮替换它们?在js fiddle中,似乎出于某种原因没有附加all.js。我将继续使用它一段时间,并返回任何结果。我建议现在只使用iframe版本的like按钮。@CalebGray当这个脚本运行,但我投了一个复选框以防万一。应该发生的是,Tweet和Like按钮应该显示为附加到页面上第一个
    标题
    元素的
    旁边的
    元素的子元素。@ShawnECarter是的,我也看到了。但更奇怪的是Firebug似乎仍然能够识别script在其加载的脚本列表中。该脚本是否出于某些愚蠢的原因而删除自身?当然,您应该使用“missing facebook
    like
    button Debugger Add-On for Visual Studio 2010”调试缺少的facebook
    like
    按钮。
    /**
     * Load the script for the Facebook API.
     */
    
    (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) {return;}
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
    
    
    /**
     * Load the script for the Twitter API.
     */
    $(function loadTwitter($) {
        var id = 'twitterSdk';
        if ($("#" + id).length <= 0) {
            $(document.createElement("script")).
                attr("id", id).
                attr("src", "//platform.twitter.com/widgets.js").
                appendTo("head");
        }
    });
    function loadthis($){
    $(function generateSocMedElements($) {
        var id = "socmed",
            $container,
            $fb_root,
            $fb_like,
            $tweet_button;
        if ($("#" + id).length <= 0) {
            $container = $(document.createElement("aside")).
                addClass("socmed").
                attr("id", id);
            $fb_root = $(document.createElement("div")).attr("id", "fb-root");
            $fb_like = $(document.createElement("div")).
                addClass("fb-like").
                attr("data-href", "example.org").
                attr("data-send", "false").
                attr("data-layout", "button_count").
                attr("data-width", 82).attr("data-show-faces", "false");
            $tweet_button = $(document.createElement("a")).
                addClass("twitter-share-button").
                attr("href", "//twitter.com/share").
                attr("data-count", "none").
                text("Tweet");
            $container.
                appendTo($("header").first()).
                append($fb_root).
                append($fb_like).
                append($tweet_button);
        }
    });
    }
    loadthis($);