2015-09-11 108 views
1

我有一个问题,通过twitter工厂加载twitter按钮。我已经包括库立即启动后如何使用twitter工厂从twitter widgets.js

<script>window.twttr = (function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0], 
     t = window.twttr || {}; 
    if (d.getElementById(id)) return t; 
    js = d.createElement(s); 
    js.id = id; 
    js.src = "https://platform.twitter.com/widgets.js"; 
    fjs.parentNode.insertBefore(js, fjs); 

    t._e = []; 
    t.ready = function(f) { 
     t._e.push(f); 
    }; 

    return t; 
    }(document, "script", "twitter-wjs"));</script> 

,我已经创建我的弹出(固定位置元素,在页面加载不显示)

<div id="tweet-container"></div> 

和finaly在这个html标记我的JavaScript文件,我调用的函数:

twttr.widgets.createShareButton(
    "https:\/\/dev.twitter.com\/web\/tweet-button", 
    document.getElementById("tweet-container"), 
    { 
    size: "default", 
    via: "twitterdev", 
    related: "twitterapi,twitter", 
    text: "Nový rekord!", 
    hashtags: "drakiada,hra" 
    } 
); 
twttr.widgets.load(); 

但按钮没有加载,什么错?

回答

3

您可能试图在js加载之前在对象上执行某些操作,因为它是异步的。把它放到你准备好的函数中(如果使用Jquery的话),这样当它被加载后,你就可以使用它了

twttr.ready(
    function (twttr) { 
    // bind events here 
    } 
);