Group Facebook / Twitter / GooglePlus组合生成SCRIPT标签

时间:2012-02-20 14:50:49

标签: javascript jquery facebook twitter

你很可能会认识到来自facebook / twitter / googleplus的以下javascripts,我在这里所做的就是将它们很好地组合在一起。

如何使用jQuery创建脚本标记并改进代码以协同工作?

function generateJs(){

    // Google Plus
    window.___gcfg = {lang: 'en-GB'};
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);

    // Facebook API 
     $("body").append('<div id="fb-root"></div>');          
    (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_GB/all.js#xfbml=1&appId="+opt.faceBookID;
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    // Twitter
    !function(d, s, id){
        var js,fjs=d.getElementsByTagName(s)[0];
        if(!d.getElementById(id)){
            js=d.createElement(s);
            js.id=id;
            js.src="//platform.twitter.com/widgets.js";
            fjs.parentNode.insertBefore(js,fjs);
        }
    }(document, "script", "twitter-wjs");
}

1 个答案:

答案 0 :(得分:0)

如果您只想要更少的代码,这个解决方案应该有效:

function generateJs(){
    // Google Plus
    window.___gcfg = {lang: 'en-GB'};
    $.getScript('https://apis.google.com/js/plusone.js');

    // Facebook
     $('body').append('<div id="fb-root"></div>');
    $.getScript('http://connect.facebook.net/en_GB/all.js#xfbml=1&appId='+opt.faceBookID);

    // Twitter
    $.getScript('http://platform.twitter.com/widgets.js');
}

但是,我无法加快加载脚本的速度。