2011-03-04 3 views
0
<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"를 클릭하면 트위터 위젯을 다시로드하거나로드하지 않을 수 있으며, "join the conversation"링크는 올바른 URL을 가리 킵니다. 입력 한 새 사용자로 URL을 다시로드하고 싶습니다. 나는 완전한 자바 스크립트 멍청 아. 미리 감사드립니다.이 자바 스크립트에 어떤 문제가 있습니까?

+0

jsbin 또는 jsfiddle에서 만들 수 있습니까? –

+0

@Michael Haren은 jsfiddle에서 똑같이 작동합니다 ... – xdumaine

+0

오른쪽 ... 나 자신을 만들 필요가 없도록 공유 할 수 있습니까? –

답변

5

귀하의 입력은 ID 필요 :

<input id='usrText' name="usrText"/> 

인터넷 익스플로러에서 이름에 의해 요소를 반환합니다 "에서 getElementById()"를, 그러나 그것은 단순히 기존의 깨진 행동이며 다른 브라우저 모방 아니에요.

편집 — 업데이 트 :

그 위젯 일이 훨씬 문서로가 표시되지 않습니다. "라이브"기능을 true으로 설정하면 상황이 다소 좋아집니다. 당신이 사용자를 업데이트 할 때 또한, 당신은 위젯에 내부 변수를 보내 겠해야 : 당신이 그것을 볼하려는 경우

function updatetwitter() 
{ 
    twitter._profileImage = null; 
    twitter.setUser(usr).render().start(); 
} 

Here가 jsfiddle입니다.

+0

이것이 사실 일 수 있지만 이것은 문제가 아닙니다. 상자에서 텍스트를 성공적으로 가져 오는 중입니다. 문제는 위젯을 다시 렌더링하는 것입니다. – xdumaine

+0

나는 다르다. 입력에 "id"값이 없으면 IE를 제외하고 "getElementById()"를 호출하면 null이 반환된다. – Pointy

+0

"올바로"대신 "성공적으로"말하기 위해 주석을 편집했습니다. 올바르지 않을 수도 있지만 텍스트를 가져 오는 중입니다. 문제는 위젯을 다시 렌더링하는 것입니다. 당신은 행동에서 그것을 볼 수 있습니다 : somewhatbiased.blogspot.com - 위젯의 대부분이로드되지 않는 동안 위젯의 하단에있는 링크가 "대화에 참여"하기 때문에 텍스트를 얻고 있다고 말할 수 있습니다 "입력 된 텍스트를 가리 킵니다. – xdumaine

관련 문제