2011-12-08 2 views
0

내 문제는 Firefox가 현재 사용자 이름을 검색하는 데 사용되는 .innerText를 인식하지 못하고 URL에 추가되었음을 나타냅니다. 이 기능은 Safari, Chrome 및 IE에서 작동하지만 Firefox에서는 작동하지 않습니다. 그것은 "undefined"를 반환합니다.Firefox가 코딩을 인식하지 못합니다! "undefined"를 반환합니다

function toggle_visibility(id) { 

var url = 'http://widget.mibbit.com/?settings=46780594e96e435ff18e44e48b7d880d&ser‌ver=irc.Mibbit.Net&channel=%23yourCh&nick=', 
     username = document.getElementsByClassName('user-nickname')[0].innerText; 
    document.getElementById('chat').setAttribute('href', url + username); 

그래서이 솔루션을 Firefox에 추가해야합니다.

if(document.all){ 
    document.getElementsByClassName('user-nickname')[0].innerText; 
} 

else{ 
    document.getElementsByClassName('user-nickname')[0].textContent; 
} 

Firefox에서 사용자 이름을 검색하고 .innerText를 계속 사용하려면 .textContent를 사용하는 데 도움이 필요합니다. 나는 그것이 올바른 방향으로 가고 있다고 기대하고 있습니다!

답변

5

document.allinnerText을 사용하는지 확인하지 마십시오.

또한 공식 부동산은 textContent입니다. 확인시 우선 순위를 정해야합니다.

var elem = document.getElementsByClassName('user-nickname')[0], 
    text = elem.textContent || elem.innerText; 

text에는 요소에 대해 조인 된 텍스트 노드가 포함됩니다.

+0

'VAR의 URL = "& http://widget.mibbit.com/?settings=46780594e96e435ff18e44e48b7d880d 서버 irc.Mibbit.Net = & 채널 = % 23FLOWcypher 닉 & ='= document.getElementsByClassName ('사용자 별' ELEM) [0], username = elem.textContent || elem.innerText; document.getElementById ('chat') .setAttribute ('href', url + username); ' – FLUX

+0

완벽한 메이트를 테스트하고 작동합니다. 도와 주셔서 감사합니다! – FLUX

+0

@FLUX : 걱정 마세요, 즐겨라! – alex

관련 문제