Visualizzazione risultati 1 fino 3 di 3

Discussione: ottimizzare un codice in javascript

  1. #1
    L'avatar di nasosan
    nasosan non è connesso Utente giovane
    Data registrazione
    24-10-2004
    Residenza
    Altare (sv)
    Messaggi
    43

    Predefinito ottimizzare un codice in javascript

    miao,

    ho questo codice..

    Codice:
    <script language="JavaScript" type="text/javascript">
        // testo x nascondere la mia mail
        // Prelevato su http://www.web-link.it
        function Transpose(Oggetto){
        var email = 'gmail.com@nasosansoft'
        var TempBefore = '';
        var TempAfter = '';
        var NewString = '';
        var Start = 0;
    	var Oggetto = 'Richiesta pubblicità spazio libero.';
        var WhereHash = email.indexOf ('@');
        for (Count = 1; Count <= WhereHash; Count ++){
            TempBefore += email.substring (Start, Count);
            Start++
        }
        Start = WhereHash;
        Start ++
        WhereHash +=2;
        for (Count = WhereHash; Count <=email.length; Count++){
             TempAfter +=email.substring (Start, Count)
        Start++
        }
        NewString = TempAfter +'@' + TempBefore;
        parent.location = 'mailto:' + NewString + '?subject=' + Oggetto;
    }
    </script>

    vorrei poter cambiare il testo della variabile "Oggetto" a seconda di un paramentro che passo...
    io nel codice html inserisco il codice
    Codice:
    <a href="java-script:Transpose()">....</a>
    come posso fare a far si che se io chiamo (esempio nn so come si faccia a passare dei paramentri in javascript..) transpose(1)... lui mi scriva l'oggetto "testo1" se passo il parametro 2 lui mi scriva l'oggetto "testo2" e così via?
    nel codice iniziale devo aggiungere un if... ma come faccio a passare i parametri?

    grazie.
    ovviamente sono a disposizione x chiarimenti.. ;)

    il risultato che vorrei ottenere dovrebbe essere simile a questo:

    Codice:
    ....
        var NewString = '';
        var Start = 0;
    	
    se variabile_passata=1 
    var Oggetto = 'Richiesta pubblicità spazio libero.';
    altrimenti 
    se variabile_passata=2
    var Oggetto = 'Richiesta 2.';
    altrimenti
    var Oggetto = 'Richiesta 3.';
        var WhereHash = email.indexOf ('@');
        for (Count = 1; Count <= WhereHash; Count ++){
    ....
    [DS] Usa i tag di codice quando ne riporti ampi stralci, si legge meglio...
    Ultima modifica di dementialsite : 20-04-2007 alle ore 16.55.29
    Lunga Vita e Prosperita!
    Naso San.
    www.nasosan.it

  2. #2
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Vedo un sacco di altre cose che "non tornano" nello script...
    1) alla function GIA' viene passato un parametro "Oggetto": function Transpose(Oggetto)
    la cosa scorretta è che poco dopo nel codice si dichiara una variabile:
    var Oggetto = 'Richiesta pubblicità spazio libero.';
    Dunque toglierei quest'ultima riga.

    2) poi vedo:
    <a href="java-script:Transpose()">....</a>
    mentre dovrebbe essere:
    <a href="javascript:Transpose()">....</a>

    Ad ogni modo dovresti fare così:

    function Transpose(ogg){
    var email = 'gmail.com@nasosansoft'
    var TempBefore = '';
    var TempAfter = '';
    var NewString = '';
    var Start = 0;

    var oggetto = 'Richiesta pubblicità spazio libero.';
    if (ogg!=1)
    oggetto = 'Richiesta '+ogg+'.';

    var WhereHash = email.indexOf ('@');

    ...resto del codice invariato nel mezzo..

    NewString = TempAfter +'@' + TempBefore;
    parent.location = 'mailto:' + NewString + '?subject=' + oggetto;
    }
    </script>


    Poi penso che anche la variabile "email" dovrebbe essere passata come parametro no??
    Ultima modifica di heracleum : 20-04-2007 alle ore 16.50.31
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  3. #3
    L'avatar di nasosan
    nasosan non è connesso Utente giovane
    Data registrazione
    24-10-2004
    Residenza
    Altare (sv)
    Messaggi
    43

    Predefinito

    Citazione Originalmente inviato da heracleum
    Vedo un sacco di altre cose che "non tornano" nello script...
    1) alla function GIA' viene passato un parametro "Oggetto": function Transpose(Oggetto)
    la cosa scorretta è che poco dopo nel codice si dichiara una variabile:
    var Oggetto = 'Richiesta pubblicità spazio libero.';
    Dunque toglierei quest'ultima riga.
    lo script nn è mio.. ma l'ho preso da html.it.....
    2) poi vedo:
    <a href="java-script:Transpose()">....</a>
    mentre dovrebbe essere:
    <a href="javascript:Transpose()">....</a>
    cmq funziona... se nn cambia lo lascio com'è... ;) grazie.
    Ad ogni modo dovresti fare così:

    function Transpose(ogg){
    var email = 'gmail.com@nasosansoft'
    var TempBefore = '';
    var TempAfter = '';
    var NewString = '';
    var Start = 0;

    var oggetto = 'Richiesta pubblicità spazio libero.';
    if (ogg!=1)
    oggetto = 'Richiesta '+ogg+'.';

    var WhereHash = email.indexOf ('@');

    ...resto del codice invariato nel mezzo..

    NewString = TempAfter +'@' + TempBefore;
    parent.location = 'mailto:' + NewString + '?subject=' + oggetto;
    }
    </script>


    Poi penso che anche la variabile "email" dovrebbe essere passata come parametro no??
    vedo di fare le modifiche e ti dico.
    infinite grazie. :D


    EDIT: ho fatto così..:
    ho inserito dove voglio chiamare lo javascript questo
    JavaScript:Transpose('Richiesta pubblicità spazio libero.')
    cambiando di volta in volta il testo da mettere.

    e nello script
    ho fatto così:
    Codice HTML:
    <script language="JavaScript" type="text/javascript">
        // testo x nascondere la mia mail
        // Prelevato su [url]http://www.web-link.it[/url]
        function Transpose(Oggetto){
        var email = 'gmail.com@nasosansoft'
        var TempBefore = '';
        var TempAfter = '';
        var NewString = '';
        var Start = 0;
        var WhereHash = email.indexOf ('@');
        for (Count = 1; Count <= WhereHash; Count ++){
            TempBefore += email.substring (Start, Count);
            Start++
        }
        Start = WhereHash;
        Start ++
        WhereHash +=2;
        for (Count = WhereHash; Count <=email.length; Count++){
             TempAfter +=email.substring (Start, Count)
        Start++
        }
        NewString = TempAfter +'@' + TempBefore;
        parent.location = 'mailto:' + NewString + '?subject=' + Oggetto;
    }
    </script>
    grazie mille x l'aiuto :D


    FunCool: Non scrivere due messaggi consecutivi, utilizza il tasto Edita.
    Ultima modifica di funcool : 20-04-2007 alle ore 17.08.55
    Lunga Vita e Prosperita!
    Naso San.
    www.nasosan.it

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •