Visualizzazione risultati 1 fino 24 di 24

Discussione: script banner personale

  1. #1
    Guest

    Predefinito script banner personale

    navigando qua e la ho trovato questo script:

    var openInNewWin = true;

    var banners = new Array();
    banners[0] = new Banner("(sito dove rimandare)", "(descrizione)", "(percorso immagine)");
    banners[1] = new Banner("(...)", "(...)", "(...)");
    function Banner(url, description, image) {
    this.url = url;
    this.description = description;
    this.image = image;
    return this;
    }
    var bNum = Math.round(Math.random() * (banners.length - 1));


    document.write("<a href=\"" + banners[bNum].url + "\"");
    if (openInNewWin) {
    document.write(" target=\"_blank\"");
    }
    document.write(">");
    document.write("<img src=\"" + banners[bNum].image + "\" border=\"0\" alt=\"" + banners[bNum].description + "\">");
    document.write("</a>");

    la mia domanda è:
    è possibile modificare tale script affinche:
    1. alcuni banner non rimandino a nessuna pagina, ovvero siano solo grafici, come se la prima parte (sito dove rimandare) non ci fosse?

    2. non tutti i collegamenti aprino uno nuova pagina (come invece accade visto che è impostato _blank, ma decidere per ogni singolo banner se aprire una nuova finestra o no?

    grazie!!!!!
    Ultima modifica di brattoliart : 05-12-2005 alle ore 17.12.12

  2. #2
    Guest

    Predefinito

    È Vb vero?

  3. #3
    Guest

    Predefinito

    che intendi per Vb?

  4. #4
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da brattoliart
    che intendi per Vb?
    Intende dire VBscript,se ti interessa qui ne trovi una guida,forse studiandola sarai in grado di modificare lo script a tuo piacimento...

  5. #5
    Guest

    Predefinito

    ok... grazie, ci proverò! se cmq c'è qualcuno che vuol darmi una mano... ciao!

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

    Predefinito

    ...ad ogni modo quel codice è semplicemente JavaScript (con la particolarità, poco consueta, che crea una Classe Banner in javascript).
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    Guest

    Predefinito

    cioè non serve studiarmi il VB?

  8. #8
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    ...ad ogni modo quel codice è semplicemente JavaScript (con la particolarità, poco consueta, che crea una Classe Banner in javascript).
    A me sembra Vbscript,comunque se dici che è Javascript qui ce n'è la guida...

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da probid
    A me sembra Vbscript,comunque se dici che è Javascript qui ce n'è la guida...
    ok... grazie... grazie.. ci proverò anke se so che non ci combinerò niente...!!

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

    Predefinito

    Ne sono sicuro,
    se pensi che ci sia qualche istruzione "non-javascript" indicamela che magari m'è sfuggita.

    brattoliart:
    Ad ogni modo, visto che il javascript non è così immediato da cogliere per chi non è avvezzo, se hai un po' di pazienza te lo posso modificare io, non mi risulta difficile. Se mi scordo magari tra due gg. mandami un pm, non si sa mai
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  11. #11
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito Rispondo alle tue domande...

    Citazione Originalmente inviato da brattoliart
    1. alcuni banner non rimandino a nessuna pagina, ovvero siano solo grafici, come se la prima parte (sito dove rimandare) non ci fosse?
    Hai due possibilita': o specifichi come destinazione il valore "#" (ma causera' comunque il ritorno in cima alla pagina), o modifichi lo script in modo che, specificato un determinato valore, non scriva il collegamento:
    Codice:
    if (banners[bNum].url == "dummy")
    {
       document.write("<a href=\"" + banners[bNum].url + "\"");
       if (openInNewWin) {
          document.write(" target=\"_blank\"");
       }
    }
    Citazione Originalmente inviato da brattoliart
    2. non tutti i collegamenti aprino uno nuova pagina (come invece accade visto che è impostato _blank, ma decidere per ogni singolo banner se aprire una nuova finestra o no?
    Per come e' fatto lo script, se cambi la prima riga cosi':
    Codice:
    var openInNewWin = false;
    farai in modo che TUTTI i banner si apriranno nella stessa finestra. Se invece preferisci decidere tu quando dovra' verificarsi, ti conviene modificare la definizione dell'oggetto e la sua scrittura cosi':
    Codice:
    banners[0] = new Banner("(sito dove rimandare)", "(descrizione)", "(percorso immagine)", (true x nuova finestra, false in caso contrario));
    banners[1] = new Banner("(...)", "(...)", "(...)");
    function Banner(url, description, image, blank) {
    this.url = url;
    this.description = description;
    this.image = image;
    this.blank = blank;
    return this;
    }
    var bNum = Math.round(Math.random() * (banners.length - 1));
    
    
    document.write("<a href=\"" + banners[bNum].url + "\"");
    if (banners[bNum].blank) {
    document.write(" target=\"_blank\"");
    }
    Spero di essere stato esauriente... No, non di averti esaurito la pazienza... Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

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

    Predefinito

    Ok, questa è la mia versione:
    Codice HTML:
    <script type="text/javascript">
    	//qui decidi cosa fare di default quando non viene indicato il quarto parametro
    	var defaultOpenInNewWin = true; 
    
    	var banners = new Array();
    	
    	//new Banner("URL sito", "descrizione", "URL immagine", true /* se in nuova finestra */);
    	banners[0] = new Banner("http://www.google.it", "Descrizione apri in nuova finestra", "http://www.google.it/images/logo_sm.gif", true);
    	banners[1] = new Banner("", "Descrizione niente link", "http://www.google.it/images/logo_sm.gif", false);
    	banners[2] = new Banner("http://www.google.it", "Descrizione default open", "http://www.google.it/images/art.gif");
    	banners[3] = new Banner("", "Descrizione niente link default open", "http://www.google.it/images/art.gif");
    
    
    	function Banner(url, description, image, newWin) {
    		this.url = url;
    		this.isLinked = url.length>0;
    		this.description = description;
    		this.image = image;
    		this.newWin = (newWin)? newWin : defaultOpenInNewWin;
    		return this;
    	}
    	
    	var bNum = Math.round(Math.random() * (banners.length - 1));
    	var bnr = banners[bNum];
    	var jsout = '';
    	if (bnr.isLinked)
    		jsout += "<a href=\""+ bnr.url +"\""+ (((bnr.newWin))?" target=\"_blank\">":">");
    	jsout += "<img src=\""+ bnr.image +"\" border=\"0\" alt=\""+ bnr.description +"\" title=\""+ bnr.description +"\">";
    	if (bnr.isLinked)
    		jsout += "</a>";
    	document.write(jsout);
    </script>
    Ho messo anche quattro esempi di banner per provare le varie combinazioni.
    Diciamo che il quarto parametro, booleano true/false, per indicare se voglio aprire in una nuova finestra, in questo modo è OPZIONALE.
    Cioè se non voglio un link che gli passo a fare il parametro?
    Nel caso in cui indico un url per il link potrei anche OMETTERE il quarto parametro opzionale, a quel punto entra in gioco il valore di DEFAULT (predefinito) che imposto nella variabile defaultOpenInNewWin.

    Ho aggiunto anche l'attributo TITLE oltre che ALT perché mozilla non visualizza il testo alternativo nel tooltip (etichetta descrittiva che appare sopra le immagini).

    L'ho testato funziona
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  13. #13
    Guest

    Predefinito

    lo script va benissimo!!!!! grazie mille... ho solo cercato più volte di modificarlo io, affinke ad alcuni cliccando invi una e-mail all'indirizzo info@brattoliart.tk con oggetto: BLABLABLA...
    però non ci riesco...!!! :-(

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da heracleum
    Ok, questa è la mia versione:
    Codice HTML:
    <script type="text/javascript">
    	//qui decidi cosa fare di default quando non viene indicato il quarto parametro
    	var defaultOpenInNewWin = true; 
    
    	var banners = new Array();
    	
    	//new Banner("URL sito", "descrizione", "URL immagine", true /* se in nuova finestra */);
    	banners[0] = new Banner("http://www.google.it", "Descrizione apri in nuova finestra", "http://www.google.it/images/logo_sm.gif", true);
    	banners[1] = new Banner("", "Descrizione niente link", "http://www.google.it/images/logo_sm.gif", false);
    	banners[2] = new Banner("http://www.google.it", "Descrizione default open", "http://www.google.it/images/art.gif");
    	banners[3] = new Banner("", "Descrizione niente link default open", "http://www.google.it/images/art.gif");
    
    
    	function Banner(url, description, image, newWin) {
    		this.url = url;
    		this.isLinked = url.length>0;
    		this.description = description;
    		this.image = image;
    		this.newWin = (newWin)? newWin : defaultOpenInNewWin;
    		return this;
    	}
    	
    	var bNum = Math.round(Math.random() * (banners.length - 1));
    	var bnr = banners[bNum];
    	var jsout = '';
    	if (bnr.isLinked)
    		jsout += "<a href=\""+ bnr.url +"\""+ (((bnr.newWin))?" target=\"_blank\">":">");
    	jsout += "<img src=\""+ bnr.image +"\" border=\"0\" alt=\""+ bnr.description +"\" title=\""+ bnr.description +"\">";
    	if (bnr.isLinked)
    		jsout += "</a>";
    	document.write(jsout);
    </script>
    Ho messo anche quattro esempi di banner per provare le varie combinazioni.
    Diciamo che il quarto parametro, booleano true/false, per indicare se voglio aprire in una nuova finestra, in questo modo è OPZIONALE.
    Cioè se non voglio un link che gli passo a fare il parametro?
    Nel caso in cui indico un url per il link potrei anche OMETTERE il quarto parametro opzionale, a quel punto entra in gioco il valore di DEFAULT (predefinito) che imposto nella variabile defaultOpenInNewWin.

    Ho aggiunto anche l'attributo TITLE oltre che ALT perché mozilla non visualizza il testo alternativo nel tooltip (etichetta descrittiva che appare sopra le immagini).

    L'ho testato funziona
    ma se scelgo FALSE cmq apre in una nuova finestra...

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

    Predefinito

    intendi false alla variabile defaultOpenInNewWin, giusto?
    no quello è solo un valore PREDEFINITO nel caso in cui ometti il quarto parametro, nel caso in cui in una pagina ti servano tutti apri in altra finestra tranne UNO e in un'altra pagina ti servano tutti apri NELLA STESSA finestra tranne UNO, capito?

    Altrimenti usi il quarto parametro true o false indicandolo palesemente.

    -----------
    per l'email puoi usare:
    "mailto:cicciociccio@ciccio.it"

    (ma viene spesso sconsigliata per motivi di SPAM!!)
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  16. #16
    Guest

    Predefinito

    ok, ora vado a studiare (domani ho compito di mat)!!!, dopo lo provo e ti faccio sapere!!! cmq grazie!!!!!!

  17. #17
    L'avatar di SolitaryExplorer
    SolitaryExplorer non è connesso Utente storico
    Data registrazione
    10-08-2005
    Residenza
    Veneto
    Messaggi
    1,949

    Predefinito

    [piccolo OT]
    Ti suggerisco di imparare ad usare editor diversi da Publisher della Microsoft.
    Te lo dico perché cercando di vederlo con Firefox inizialmente sono stato fermato da un avviso di errore da te impostato (facilmente aggirato) e poi ho trovato molti errori di visualizzazione.

    Morale? Non tornerò più sul tuo sito. (almeno finché non lo migliorerai)
    E' questo quello che vuoi per il tuo sito?

    Ciauz!!!
    Non offro assistenza privata. / Se vuoi anche tu una userbar come queste, basta chiedere.


  18. #18
    Guest

    Predefinito

    argomento già discusso:... gestire il mio sito deve essere un divertimento, ho tentato di risolvere il problema ma nulla da fare, il sito rimane visibile solo da IE. L'avviso è solo per informare i visitatori, per essere corretti.. poi che sia "facilmente" aggirabile, lo sapevo pure io e anche mia sorella (7 anni)... cmq non posso fare altro che dirti che mi dispiace che non verrai più a visitare il mio sito, ma di certo, ti assicuro, non mi metterò a piangere per questo motivo...!!!!
    Ultima modifica di brattoliart : 06-12-2005 alle ore 23.13.06

  19. #19
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ho qualche dubbio sul funzionamento di questa riga:
    Citazione Originalmente inviato da heracleum
    Codice:
    ... this.newWin = (newWin)? newWin : defaultOpenInNewWin; ...
    L'operatore A ? B : C significa:
    - valuta A
    - se è un logico vero, un numero diverso da 0, una stringa non vuota o un oggetto o valore non nullo esegui B
    - se è un logico falso, un numero uguale a 0, una stringa vuota o un oggetto o valore nullo esegui C.

    Tutto questo per dire che, volendo mantenere l'opzionalità, forse sarebbe meglio questa:
    Codice:
    ... this.newWin = (newWin != null) ? newWin : defaultOpenInNewWin; ...
    in questo modo si ha la giusta condizione: se il valore newWin è specificato (cioè non nullo) allora assegnalo, altrimenti metti quello di default.

    Statemi bene...
    Ultima modifica di dementialsite : 07-12-2005 alle ore 10.39.59
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  20. #20
    Guest

    Predefinito

    banners[0] = new Banner("http://www.google.it", "Descrizione apri in nuova finestra", "http://www.google.it/images/logo_sm.gif");

    anche mettendo così, il collegamento apre in una nuova finestra!

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

    Predefinito

    Pardon! l'osservazione di dementialsite è corretta.

    Uso spesso condizioni di quel tipo per oggetti nulli -è anche una comoda consuetudine in javascript invece del confronto con puntatore nullo-, ma l'abitudine e la fretta mi ha fatto dimenticare che si trattava di un valore boolean eeehmmm e quindi non va affatto bene.
    Si può correggere come ha indicato dementialsite
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  22. #22
    Guest

    Predefinito

    banners[0] = new Banner("WWW", "CON LINK/IN NUOVA FINESTRA", "IMG");
    banners[1] = new Banner("", "SENZA LINK", "IMG.GIF", false);
    banners[2] = new Banner("WWW", "CON LINK/NUOVA FINESTRA (DEFLAUT)", "IMG");
    banners[3] = new Banner("MAILTO:A@B.IT", "E-MAIL", "IMG.GIF");


    dovrebbe funzionare così?

  23. #23
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da brattoliart
    banners[0] = new Banner("http://www.google.it", "Descrizione apri in nuova finestra", "http://www.google.it/images/logo_sm.gif");

    anche mettendo così, il collegamento apre in una nuova finestra!
    Hai copiato il codice di Heracleum correggendo con la riga che ho messo io? Se è così, fai una di queste correzioni:
    - o specifichi esplicitamente che non vuoi aprire il banner in una nuova finestra, così:
    Codice:
    banners[0] = new Banner("http://www.google.it", "Descrizione apri in nuova finestra", "http://www.google.it/images/logo_sm.gif", false);
    - oppure modifichi il comportamento di default, cambiando la prima riga così:
    Codice:
    var defaultOpenInNewWin = false;
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  24. #24
    Guest

    Predefinito

    si, scusami!!!! funziona tutto... ero io che non capivo! avete fatto un'ottimo lavoro!!! COMPLIMENTI!!!

Regole di scrittura

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