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

    Adattare javascript per FireFox

    Ciao tutti!
    Ho un javascript che crea un menù in stile explora risorse.

    Attualmente funziona su Explorer e Opera.

    Volevo sapere se, postando il codice, qualcuno mi sa dire se è possibile farlo girare anche sotto FireFox... ...e che modifiche devo fare.

    Il codice non è molto lungo...

    Resto in attesa!

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    tu posta, e se qualcuno lo sa fare lo farà. non è possibile stabilirlo a priori!o meglio, teoricamente tutto è possibile ma bisogna vedere se uno ha tempo, voglia e conoscenze per farlo

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    OK!

    La pagina html richiama la funzione "disegna" e nella pagina includo i 2 file js seguenti:

    PRIMO FILE:
    codice:
    var nascosto=new Array();
    for (c=1;c<=i;c++){
    	if(elemento[c].livello==1) nascosto[c]=false;
    	else nascosto[c]=true;
    }
    
    function disegna(){
    	var index=0;
    	var code='';
    	code += '<TABLE BORDER=0><TR><TD NOWRAP>';
    	for(c=2;c<=i;c++){
    		index=index+1;
    		if(!nascosto[c]){
    			var app=elemento[c];
    			for(k=2;k<=app.livello;k++) code += '[img]i.gif[/img]';
    			if(app.foglia){
    				if(c!=i && app.livello==elemento[c+1].livello) code += '[img]t.gif[/img]';
    				else code += '[img]l.gif[/img]';
    				if(app.icona=='') app.icona='html.jpg';
    				code += '<A HREF="'+app.link+'" TARGET="_parent" onmouseover="setObj(des['+index+'],\'override\',400,110)"  onmouseout="clearTimeout(openTimer);stopIt()">';
    				code += '[img]'+app.icona+'[/img]';
    				code +='<font style="FONT-SIZE: 10px; ">'+app.nome+'</font></A>
    ';
    			}
    			else{
    				if(nascosto[c+1]){
    					code += '[img]cartella1.jpg[/img]';
    					code += '<font style="FONT-SIZE: 10px; ">'+app.nome+'</font>
    ';
    				}
    				else{
    					code += '[img]cartella2.jpg[/img]';
    					code += '<font style="FONT-SIZE: 10px;">'+app.nome+'</font>
    ';
    				}
    			}
    		}
    	}
    	code += '</TD></TR></TABLE>';
    	if(document.all) esplora.innerHTML=code;
    	else{
    		document.layers.esplora_nn.document.open();
    		document.layers.esplora_nn.document.write(code);
    		document.layers.esplora_nn.document.close();
    	}
    }
    function apri(n){
    	var c=n+1;
    	while(elemento[c].livello>elemento[n].livello) c++;
    	for(k=n+1;k<c;k++) if(elemento[k].livello==elemento[n].livello+1) nascosto[k]=false;
    	disegna();
    }
    
    function chiudi(n){
    	var c=n+1;
    	while(elemento[c].livello>elemento[n].livello) c++;
    	for(k=n+1;k<c;k++) nascosto[k]=true;
    	disegna();
    }
    SECONDO FILE:
    codice:
    function voce(livello,nome,link,icona,foglia) {
      this.livello = livello;
      this.nome = nome;
      this.link = link;
      this.icona = icona;
      this.foglia = foglia;
    }
    var elemento = new Array()
    var i = 0;
    elemento[++i] = new voce(0,'Home Page','home.htm','',true);
    elemento[++i] = new voce(1,'Acquisti on-line','','',false);
       elemento[++i] = new voce(2,'CHL','http://www.chl.it','', true);
       elemento[++i] = new voce(2,'Ebay','http://www.ebay.it','',true);
    elemento[++i] = new voce(1,'Cellulari','','',false);
       elemento[++i] = new voce(2,'CDcovers','http://www.cdcovers.cc/mobile.php','', true);
    elemento[++i] = new voce(1,'Cultura','','',false);
       elemento[++i] = new voce(2,'BeppeGrillo','http://www.beppegrillo.it','', true);
       elemento[++i] = new voce(2,'Wikipedia','http://it.wikipedia.org','', true);
    elemento[++i] = new voce(1,'Giochi di ruolo e da tavolo','','',false);
       elemento[++i] = new voce(2,'Confrontation','http://www.confrontation.fr','', true);
       elemento[++i] = new voce(2,'Wargamesfoundry','http://www.wargamesfoundry.com/main.asp','', true);
    elemento[++i] = new voce(1,'Manga & cartoni','','', false);
          elemento[++i] = new voce(2,'Anigate','http://forum.anigate.net','', true);
    elemento[++i] = new voce(0,'','','mail.jpg',true);
    Fammi sapere!

  4. #4
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    l'ho letto molto in fretta ma prova cambiando
    if(document.all) esplora.innerHTML=code;
    con
    function recupera(name_ID) {
    return (document.all)?document.all[name_ID]document.getElementById)?document.getElementById(n ame_ID):null
    }
    recupera('esplora').innerHTML=code;
    poi nn saprei cos'altro fare perchè dovrei leggermi molto attentamente il codice e non ho tempo!

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  5. #5
    ...è possibile che ci siano degli errori di battitura nel codice che mi hai postato?

  6. #6
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    per copiare il codice devi fare quote perchè altrimenti nn ti copia il codice che ha sosituito con la faccina

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  7. #7
    ...si lo so...
    Ho fatto la modifica che mi hai detto.

    Ora su Firefox non visualizza niente e neanche su explorer!

  8. #8
    Ciao a tutti!
    Approfitto di questa discussione per chiedere aiuto per una cosa simile...
    Ho trovato uno script che appunto funziona su IE e NS ma non con gli altri browser.
    Il problema credo stia in document.all
    Solo che io non ci capisco niente di Javascript, percui modificando soltanto la linea della condizione if con if(document.getElementById || document.all) non ottengo i risultati sperati..

    Vi posto il codice non modificato, con la speranza che riusciate ad aiutare anche me! :roll:

    codice:
    <html>
    <head>
    
    <!--
    NS4 = (document.layers);
    IE4 = (document.all);
    
    scaleWidth = true;
    scaleHeight = true;
    
    imSRC = "meridiana.jpg";
    
    if (NS4) window.onload = setResize;
    function setResize(){
    setTimeout("window.onresize=reDo;",500);
    }
    
    function reDo(){
    window.location.reload()
    }
    
    if (IE4) window.onresize = reDoIE;
    
    function reDoIE(){
    imBG.width = document.body.clientWidth;
    imBG.height = document.body.clientHeight;
    }
    
    function makeIm() {
    winWid = (NS4) ? innerWidth : document.body.clientWidth;
    winHgt = (NS4) ? innerHeight : document.body.clientHeight;
    imStr = "<DIV ID=elBGim"
    
    + " STYLE='position:absolute;left:0;top:0;z-index:-1'>"
    + "<IMG NAME='imBG' BORDER=0 SRC=" + imSRC;
    
    if (scaleWidth) imStr += " WIDTH=" + winWid;
    if (scaleHeight) imStr += " HEIGHT=" + winHgt;
    
    imStr += "></DIV>";
    
    document.write(imStr);
    
    }
    
    //-->
    
    </SCRIPT>
    </head>
    
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <SCRIPT LANGUAGE="JavaScript1.2">
    
    <!--
    
    makeIm();
    
    //-->
    
    </SCRIPT>
    
    
    </p>
    </body>
    
    </html>
    Questo script serve per ridimensionare l'immagine di sfondo (in questo caso meridiana.jpg) adattandola alla finestra.

    GRAZIE MILLE in anticipo!!!!!

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