javascript
  • firefox
  • cross-browser
  • 2011-12-08 6 views 0 likes 
    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; 
    } 
    

    .textContentを使用してFirefoxでユーザー名を取得し、引き続き.innerTextを使用するのに役立つ必要があります。私はそれが正しい方向に行くことを望んでいる!

    答えて

    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

    関連する問題