1

我目前有一个计算器,可以生成输出。我目前正在尝试生成一个动态 twitter 按钮以及输出。我已经多次尝试让 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 );

方法二

$("#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>");

方法三

$("#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 脚本。因此,请确保您编写的这段代码首先运行,其他明智的 twitters 脚本不会选择它。

含义:首先使用您的任何方法,然后运行此代码

$.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 回答