<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
var usr = 'charliesheen';
function changeusr()
{
usr = document.getElementById("usrText").value;
updatetwitter();
}
var twitter;
newtwitter();
function updatetwitter()
{
twitter.render().setUser(usr).start();
}
function newtwitter()
{
twitter =
new TWTR.Widget({
version: 2,
type: 'profile',
rpp: 4,
interval: 6000,
width: 200,
height: 300,
theme: {
shell: {
background: '#ffffff',
color: '#367542'
},
tweets: {
background: '#e3dfe3',
color: '#000000',
links: '#110af5'
}
},
features: {
scrollbar: false,
loop: false,
live: false,
hashtags: true,
timestamp: true,
avatars: false,
behavior: 'all'
}
}).render().setUser(usr).start();
}
</script>
<br/>
Change user:
<input name="usrText"/>
<button onclick="changeusr()">Go</button>
我看到的结果是:它加载得很好。当我输入新用户名并单击“go”时,它可能会或可能不会重新加载twitter小部件,并且“加入会话”链接指向正确的URL。我希望它能够在输入新用户的情况下重新加载网址。我是一个完整的javascript noob。提前谢谢。
答案 0 :(得分:5)
您的输入需要一个ID:
<input id='usrText' name="usrText"/>
Internet Explorer将从“getElementById()”按 name 返回元素,但这只是传统的破坏行为,并且不会被其他浏览器模仿。
编辑 - 更新:
似乎没有太多关于该小部件的文档。如果将“实时”功能设置为true
,情况会好一些。此外,当您更新用户时,您必须在窗口小部件上删除内部变量:
function updatetwitter()
{
twitter._profileImage = null;
twitter.setUser(usr).render().start();
}
Here是jsfiddle,如果你想看到它。