1

I currently have a calculator, which generates output. I'm currently trying to generate a dynamic twitter button along with the output. I've made several attempts to get the twitter button to work, but it either shows up as a text link or doesn't show up at all. The code below is what I've used.

Method 1

  $.getScript("http://platform.twitter.com/widgets.js");
  var twit_link = $('<a/>', {
    href : 'https://www.twitter.com/share',
    'class' : 'twitter-share-button',
    url : 'http://www.twitter.com/obamamakes',
    'data-count' : 'none',
    'data-via' : 'ObamaMakes',
    'data-text' : 'In the time it takes me to ' + activity + ', Barack Obama makes $' + i.toFixed(1)
  }).text('Tweet');
 $("#CalcOutput").html( twit_link );

Method 2

$("#CalcOutput-twitter").html("<a href=\"https://twitter.com/intent/tweet?source=webclient&text=\"" + encodeURIComponent(result) + "\" class=\"twitter-share-button-activity\" url=\"http://www.twitter.com/obamamakes\" data-count=\"none\" data-via=\"ObamaMakes\" data-text=\"In the time it takes me to " + activity + ", Barack Obama makes $" + i.toFixed(1) + "> <img src=\"IMAGES/twitter.jpg\" id=\"imgTweet\" alt=\"Tweet This\" width=\"50px\" height=\"30px\"></a>");

Method 3

$("#CalcOutput-twitter").html("<a href=\"https://twitter.com/intent/tweet?source=webclient&text=\"" + encodeURIComponent(result) + "\" ><img src=\"IMAGES/twitter.jpg\" id=\"imgTweet\" alt=\"Tweet This\" width=\"50px\" height=\"30px\"></a>");
4

2 に答える 2

0

リンクがページに表示された後、twitter スクリプトをロードする必要があるためです。したがって、あなたが書いたこのコードが最初に実行されることを確認してください。

意味:最初にメソッドのいずれかを使用してから、このコードを実行します

$.getScript("http://platform.twitter.com/widgets.js");

var twit_link = $('<a/>', {
    href : 'https://www.twitter.com/share',
    'class' : 'twitter-share-button',
    url : 'http://www.twitter.com/obamamakes',
    'data-count' : 'none',
    'data-via' : 'ObamaMakes',
    'data-text' : 'In the time it takes me to ' + activity + ', Barack Obama makes $' + i.toFixed(1)
}).text('Tweet');
$("#CalcOutput").html( twit_link );
$.getScript("http://platform.twitter.com/widgets.js");
于 2012-10-17T18:29:34.613 に答える
0

widgets.js ファイルがプルされた後にスクリプトをロードする場合は、成功のコールバックをフックすることをお勧めします。

詳細については、http: //api.jquery.com/jQuery.getScript/を参照してください。

$.getScript("http://platform.twitter.com/widgets.js", function(script, textStatus, jqXHR) {
    var activity, i;
    activity = 0;
    i = 4.56;
    var twit_link = $('<a/>', {
        href: 'https://www.twitter.com/share',
        'class': 'twitter-share-button',
        url: 'http://www.twitter.com/obamamakes',
        'data-count': 'none',
        'data-via': 'ObamaMakes',
        'data-text': 'In the time it takes me to ' + activity + ', Barack Obama makes $' + i.toFixed(1)
    }).text('Tweet');
    $("#CalcOutput").html(twit_link);
});​
于 2012-10-17T18:42:15.003 に答える