我目前正在尝试动态创建具有水平计数功能的推文按钮:
的JavaScript
var twitter = document.createElement('a');
twitter.setAttribute('href', 'http://twitter.com/share');
twitter.setAttribute('class', 'twitter-share-button twitter-tweet');
twitter.setAttribute('data-url','http://mindcloud.co.uk/idea/?idea=' + this.id);
twitter.setAttribute('data-count', 'horizontal');
twitter.setAttribute('data-via', 'jtbrowncouk');
twitter.style.top = '20px';
twitter.style.left = '300px';
twitter.innerHTML = "Tweet";
我遇到的问题是该按钮显示为文本链接,而不是带有水平计数框的按钮。
我以相同的方式创建了一个facebook按钮,它可以正常工作,但为了使其工作,我使用以下内容:
的JavaScript
var facebook = document.createElement('fb:like');
facebook.setAttribute('id', 'like'+this.id);
facebook.setAttribute('href', 'http://mindcloud.co.uk/idea/?idea=' + this.id);
facebook.setAttribute('layout', 'button_count');
facebook.setAttribute('send', 'false');
facebook.setAttribute('width' , '300');
facebook.setAttribute('font', '');
facebook.setAttribute('show_faces', 'true');
facebook.style.top = '0px';
facebook.style.left = '300px';
使用以下内容:
FB.XFBML.parse();
解析并绘制按钮。 FB.XFBML.parse()
来自
http://connect.facebook.net/en_US/all.js
当我在.html文件中静态创建Tweet按钮时,它可以正常工作。我在索引页面中包含以下脚本,其中应该动态创建推文按钮:
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
如果你能看到我做错了什么,请通知我!
以下屏幕截图给出了推文按钮出现问题的直观说明!
解决方案:
我现在设法解决了这个问题。我想象的问题是twitter脚本在加载时运行,而不是在创建元素时重新运行。
使用以下jQuery正常工作!
$ getScript加入( “http://platform.twitter.com/widgets.js”);
答案 0 :(得分:32)
值得注意的是,截至最近,您可以使用以下Twitter小部件功能:
twttr.widgets.load();
假设您已加载widgets.js文件:
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
这将动态地为您重新创建推文按钮。
答案 1 :(得分:6)
我现在设法解决了这个问题。我想象的问题是twitter脚本在加载时运行,而不是在创建元素时重新运行。
使用以下jQuery正常工作!
$.getScript("http://platform.twitter.com/widgets.js");
答案 2 :(得分:2)
您只是使用了错误的代码。要指定URL,请使用url,而不是data-url。这有效:
var twitter = document.createElement('a');
twitter.setAttribute('href', 'http://twitter.com/share');
twitter.setAttribute('class', 'twitter-share-button twitter-tweet');
twitter.setAttribute('url','http://mindcloud.co.uk/idea/?idea=' + this.id);
twitter.setAttribute('data-count', 'horizontal');
twitter.setAttribute('data-via', 'jtbrowncouk');
twitter.style.top = '20px';
twitter.style.left = '300px';
twitter.innerHTML = "Tweet";
有关详细信息,请查看Twitter https://dev.twitter.com/docs/tweet-button#properties
上的文档