Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [JS] Target _blank

  1. #1

    [JS] Target _blank

    Ciao
    Volevo sapere come aprire uno dei link del menù che allego in una nuova finestra.
    Lo script mi è stato inviato con la newsletter "Un Javascript a settimana" di HTML.it, settimana 118.

    Grazie e ciao



    <script language="JavaScript" src="....."></script>
    ----------------------------
    <script language="JavaScript">

    var myNavBar1 = new NavBar(0);
    var dhtmlMenu;

    dhtmlMenu = new NavBarMenu(100, 120);
    dhtmlMenu.addItem(new NavBarMenuItem("Home", "http://www.html.it"));
    myNavBar1.addMenu(dhtmlMenu);

    dhtmlMenu = new NavBarMenu(100, 120);
    dhtmlMenu.addItem(new NavBarMenuItem("Forum", "http://forum.html.it"));
    dhtmlMenu.addItem(new NavBarMenuItem("Off Topic", "http://forum.html.it/forum/forumdisplay.php?forumid=7"));
    myNavBar1.addMenu(dhtmlMenu);

    dhtmlMenu = new NavBarMenu(110, 120);
    dhtmlMenu.addItem(new NavBarMenuItem("Linux", "http://linux.html.it/"));
    dhtmlMenu.addItem(new NavBarMenuItem("Articoli", "http://linux.html.it/archivioarticoli.asp"));
    dhtmlMenu.addItem(new NavBarMenuItem("News dal web", "http://linux.html.it/archivionews.asp"));
    dhtmlMenu.addItem(new NavBarMenuItem("Download", "http://download.html.it/lista_os.asp?os=linux"));
    myNavBar1.addMenu(dhtmlMenu);

    dhtmlMenu = new NavBarMenu(100, 150);
    dhtmlMenu.addItem(new NavBarMenuItem("Macintosh", "http://mac.html.it/"));
    dhtmlMenu.addItem(new NavBarMenuItem("Articoli", "http://mac.html.it/archivioarticoli.asp"));
    dhtmlMenu.addItem(new NavBarMenuItem("Download", "http://download.html.it/lista_os.asp?os=Mac-Os"));
    myNavBar1.addMenu(dhtmlMenu);


    myNavBar1.setColors("#000000", "#00CCCC", "#ff0000", "#000000", "#ffffff", "#000000", "#00cccc", "#ffcccc", "#000080")

    //myNavBar1.setAlign("center")

    var fullWidth;

    function init() {

    fullWidth = getWindowWidth()
    - (isMinNS4 && getWindowHeight() < getPageHeight() ? 16 : 0);

    myNavBar1.resize(fullWidth);
    myNavBar1.create();
    myNavBar1.setzIndex(2);
    }
    </script>
    ---------------------------------

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    potrebbe non esser stato previsto, prova cambiando
    codice:
    dhtmlMenu.addItem(new NavBarMenuItem("Forum", "http://forum.html.it"));
    in
    codice:
    dhtmlMenu.addItem(new NavBarMenuItem("Forum", "javascript:window.open('http://forum.html.it','');void(0)"));
    se lo ricopia pari pari come href del link dovrebbe funzionare
    ciao

    P.s. senza spazio tra java e script

  3. #3
    L'idea è interessante e funziona anche!
    L'unico problema che mi viene in mente è che adesso tutti (tutti?) hanno una barra di MSN o di Google, o di... che blocca i popup, per cui niente finestra!

    Nella descrizione dello script ho trovato questa istruzione; il problema è che con _blank non funziona:

    codice:
    Ultimo consiglio: nel caso il nostro sito utilizzasse i frames,
    basterà far precedere all'indirizzo del link questa stringa:
    javascript:parent.NOME_DEL_FRAME.location='http://www.html.it'
    Avete qualche idea?


    Grazie e ciao

  4. #4
    Ho fatto un altro tentativo:

    codice:
    dhtmlMenu.addItem(new NavBarMenuItem("Forum", "javascript:self.location.href='http://www.html.it'"));

    Così funziona nel target self ... però che fare per un _blank ?

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    nel file navcond.js rintraccia questa porzione di codice:

    function navBarItemClick(e){if(this.link=="")return true;if(this.menuLayer!=null){hideLayer(this.menuL ayer);}if(this.parentHighLayer!=null){hideLayer(th is.parentHighLayer);}hideLayer(this.highLayer);if( this.link.indexOf("javascript:")==0)eval(this.link );else window.location.href=this.link;return true;}

    e sostituiscila con questa:
    codice:
    function navBarItemClick(e){
    	if(this.link=="")
    		return true;
    	if(this.menuLayer!=null){
    		hideLayer(this.menuLayer);
    	}
    	if(this.parentHighLayer!=null){
    		hideLayer(this.parentHighLayer);
    	}
    	hideLayer(this.highLayer);
    	if(this.link.indexOf("javascript:")==0) {
    		eval(this.link);
    		return true;
    	} 
    	if(this.link.indexOf("_blank:")==0) {
    		document.hideFrm.action=this.link.substr(7);
    		document.hideFrm.submit();
    		return true;
    	}
    	window.location.href=this.link;
    	return true;
    }
    inoltre aggiungi alla fine della pagina:

    <form name="hideFrm" target="_blank" style="display: none;"></form>

    i link saranno formati cosi':

    dhtmlMenu.addItem(new NavBarMenuItem("Forum", "_blank:http://www.html.it"));

    ps: provalo tu per me... io non l'ho fatto

    ciao
    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

  6. #6
    Innanzitutto grazie...

    ...il problema è risolto... in un certo senso ...

    Anche con questo metodo la finestra viene bloccata come una popup...

    Boh......


    C'è qualcos'altro che si può fare?

    Ma come mai Javascript mi cade proprio sulle finestre ?

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da Jonny Gulash
    C'è qualcos'altro che si può fare?
    smontare tutto quel blocchettone di script
    sinceramente non ne ho tempo (...nè voglia )

    considerato poi che quel menù è vecchio e che in giro si trova di meglio (milonic, coolmenus4 di dhtmlcentral.com, menu albero di jsdir.com)...

  8. #8
    Ok, hai ragione...
    Farò ricerche su questi menù....


    Grazie a tutti

    Ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.