【问题标题】:Firefox won't recognize coding! returns "undefined"Firefox 无法识别编码!返回“未定义”
【发布时间】:2011-12-08 19:14:52
【问题描述】:

所以我的问题是 Firefox 无法识别用于检索当前用户名并添加到 URL 的 .innerText。这适用于 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 的帮助。我希望它朝着正确的方向发展!

【问题讨论】:

    标签: javascript firefox cross-browser


    【解决方案1】:

    不要检查document.all 以使用innerText

    另外,官方属性是textContent。检查时应优先考虑。

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

    text 将包含为元素连接的文本节点。

    【讨论】:

    • var url = 'http://widget.mibbit.com/?settings=46780594e96e435ff18e44e48b7d880d&server=irc.Mibbit.Net&channel=%23FLOWcypher&nick=', elem = document.getElementsByClassName( 'user-nickname' )[0], username = elem.textContent || elem.innerText; document.getElementById( 'chat' ).setAttribute( 'href', url + username );
    猜你喜欢
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 2018-05-08
    相关资源
    最近更新 更多