Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Script non funzionante in Google Chrome

    Ciao a tutti, come da titolo in home page di un forum abbiamo uno script per il saluto automatico all'ultimo utente registrato, premetto che lo javascript mi risulta davvero ostico.
    Mentre I.E. e Firefox visualizzano correttamente il risltato, Chrome si rifiuta di collaborare e non capisco il perché, questo lo script che determina il nome dell'ultimo utente registrato:


    <script type="text/javascript">
    var lr = document.querySelectorAll(".lastreg dd a");
    var lrh = document.querySelectorAll(".lastreghome dd a");
    for (var i=0; i<lr.length; i++) {
    var lrhref = lr[i].getAttribute("href")
    var arr = [];
    arr.push(lr[i].text);
    lrh[i].text = arr[0];
    lrh[i].setAttribute("href",lrhref);
    }
    </script>
    <!-- End lastreg --!>

    Questo invece restituisce il nome di cui sopra ed è proprio questo che non funziona in Chrome:

    <dl class="lastreghome"><dt>BENVENUTO </dt><dd><a rel="nofollow" href="" </a></dd></dl>

    Viene stampato a schermo solo la parola benvenuto ma non il nome.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: Script non funzionante in Google Chrome

    Originariamente inviato da ngc-2008
    Ciao a tutti, come da titolo in home page di un forum abbiamo uno script per il saluto automatico all'ultimo utente registrato, premetto che lo javascript mi risulta davvero ostico.
    Mentre I.E. e Firefox visualizzano correttamente il risltato, Chrome si rifiuta di collaborare e non capisco il perché, questo lo script che determina il nome dell'ultimo utente registrato:


    <script type="text/javascript">
    var lr = document.querySelectorAll(".lastreg dd a");
    var lrh = document.querySelectorAll(".lastreghome dd a");
    for (var i=0; i<lr.length; i++) {
    var lrhref = lr[i].getAttribute("href")
    var arr = [];
    arr.push(lr[i].text);
    lrh[i].text = arr[0];
    lrh[i].setAttribute("href",lrhref);
    }
    </script>
    <!-- End lastreg --!>

    Questo invece restituisce il nome di cui sopra ed è proprio questo che non funziona in Chrome:

    <dl class="lastreghome"><dt>BENVENUTO </dt><dd><a rel="nofollow" href="" </a></dd></dl>

    Viene stampato a schermo solo la parola benvenuto ma non il nome.
    Per prima cosa dovresti scrivere html valido, poi riprovare...
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Intanto grazie per la risposta, un po' rude forse ma non importa, come dovrei scriverlo allora, visto che a due browser su tre va benissimo così?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Scusa la "rudezza" ma mi pare ovvio che prima di attribuire malfunzionamenti al browser o al javascript occorra verificare se tutto il resto e' a posto... evidentemente e' una metodica mia, tu quale segui?

    qualunque tag html si usi e' necessario racchiuderlo fra < e >, a te uno dei due manca

    ps: ricorda sempre: il fatto che funzioni non significa che sia anche corretto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Ooops... hai ragione, colpa mia devo aver pasticciato nel riportare qui il codice, infatti nel forum è correttamente chiuso....scusami

    Fermo restando che approvo incondizionatamente quanto dici il problema purtroppo resta e io svalvolo completamente quando succedono queste cose, Chrome si rifiuta di eseguire lo script o di mostrarne il risultato, se stampo a schermo qualsiasi parola dopo rel="nofollow" in chrome la vedo regolarmente e se clicco sopra con il mouse vado correttamente al pannello di controllo dell'utente.
    Quindi il risultato c'è ma Chrome non lo visualizza...

    correggo il messaggio sopra intanto e scusami ancora

    Edit: non posso modificare essendo passati più di 60 minuti

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Riposta il codice corretto (vedi tag chiusi) non essendo una funzione quando viene eseguito il codice? var lr = document.querySelectorAll(".lastreg dd a"); cosa è? Dato che non c'è nel html
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Questo è il codice corretto:



    <script type="text/javascript">
    var lr = document.querySelectorAll(".lastreg dd a");
    var lrh = document.querySelectorAll(".lastreghome dd a");
    for (var i=0; i<lr.length; i++) {
    var lrhref = lr[i].getAttribute("href")
    var arr = [];
    arr.push(lr[i].text);
    lrh[i].text = arr[0];
    lrh[i].setAttribute("href",lrhref);
    }
    </script>
    <!-- End lastreg --!>

    e questa la parte corretta:


    <dl class="lastreghome"><dt>BENVENUTO </dt><dd></dd></dl>

    var lr = document.querySelectorAll(".lastreg dd a"); assegna alla variabile lr il nome dell'ultimo utente registrato, ricavato interrogando la pagina html alla ricerca degli elementi DOM che corrispondono ai selettori css, lo stesso per la riga sotto:
    var lrh = document.querySelectorAll(".lastreghome dd a"); questa assegna alla variabile lrh il link alla pagina del pannello di controllo dell'utente in questione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.