【发布时间】:2011-10-22 08:28:43
【问题描述】:
我目前正在尝试动态创建具有水平计数功能的推文按钮:
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");
【问题讨论】:
-
您应该将解决方案作为答案并关闭问题
标签: javascript twitter dhtml