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

    Errore in semplicissimo codice javascript

    Non è che sono ferratissimo in javascript... cmq sto cercando di visualizzare cose diverse a seconda della lingua del sito.

    Al momento, giusto per test, ho scritto questo semplice codice a metà pagina:

    codice:
    var test = window.location.href 
    
    if (test.indexOf("/it/") !=-1) {
    document.write("italiano");
    } 
    else { 
    document.write("inglese");
    }

    Ok, se il sito è italiano il codice funge, se non è italiano NON scrive "inglese" e la visualizzazione del resto della pagina termina. Eppure il codice è semplicissimo... non vedo errore.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Semplicemente perchè l'istruzione document.write sovrascrive tutto in contenuto di pagina.
    Prova con un alert e vedrai che funzionerà in entrambi i casi.
    https://www.w3schools.com/jsref/met_doc_write.asp

  3. #3
    Non solo affatto d' accordo che document.write sovrascriva tutto in contenuto di pagina... nelle pagine in italiano viene visualizzata anche TUTTO IL RESTO della pagina, cioè tutto l' HTML che segue l' istruzione document.write.

    Comunque ho sostituito i due document.write con due alert: nelle pagine in italiano il messagebox viene visualizzato... e una volta premuto l' ok anche il resto delle pagine.

    Nelle pagine in inglese non viene visualizzato né il messagebox né il restante codice Html che segue il javascript.


    Aggiungo a maggior precisazione che trattasi di codice inserito in un "articolo" di Joomla... che comunque accetta javascript, prova ne è che l' if viene elaborato correttamente, almeno per le pagine in italiano.
    Ultima modifica di eziogsv; 10-07-2017 a 15:06

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, document.write sovrascrive l'intero contenuto se usato dopo il caricamento del dom (come scritto da manuale che ti ho linkato).
    Prova direttamene in console a scriverlo e vedrai
    codice:
    document.write('test')
    .
    Come joomla carichi i contenuti o quelli parziali non lo so, potrebbe caricare il tutto a blocchi per poi renderizzare tutto insieme (conosco wordpress ma poco joomla a livello di cocide).

  5. #5
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    eziogsv dice che l'ha messo a meta' pagina, quindi non viene eseguito dopo il caricamento del DOM.
    @eziogsv cosa devi fare in pratica?

  6. #6
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    leggerei semplicemente il regolamento
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


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.