Visualizzazione risultati 1 fino 3 di 3

Discussione: ottimizzare un codice in javascript

  1. #1
    Guest

    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

  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
    Guest

    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

Regole di scrittura

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