Firefox无法识别编码!返回“未定义”

时间:2011-12-08 05:14:36

标签: javascript firefox cross-browser

所以我的问题是Firefox无法识别.innerText,它用于检索当前用户名并添加到URL。这适用于Safari,Chrome和IE,但不适用于Firefox。它返回“未定义”

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;
}

我需要帮助使用.textContent来检索Firefox中的用户名,并且仍然使用.innerText。我希望它朝着正确的方向发展!

1 个答案:

答案 0 :(得分:5)

请勿检查document.all是否使用innerText

此外,官方财产是textContent。当你检查时,你应该优先考虑。

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

text将包含为元素加入的文本节点。