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

    Switching di stylesheet alternativi e compatibilità crossbrowser

    Nella mia home page [beh.. nella perenne bozza di home page ] stavo provando tra le altre cose uno switch di fogli di stile definendo un foglio di stile di base per la struttura tipografica del sito.. e due (anche + volendo) fogli di stile alternativi per avere diverse rese grafiche (colori essenzialmente):
    codice:
    <link rel="stylesheet" type="text/css" href="stilebase.css" />
    <link rel="stylesheet" type="text/css" href="stilecolori.css" />
    <link rel="alternate stylesheet" type="text/css" href="stilecolori2.css" />
    poi una funzioncina javascript attivata da link (colore 2) dovrebbe provvedere allo switching:
    codice:
    supported = (document.styleSheets) ? 1 : 0;
    function switch_stile(attivo)
     {
      if(supported) 
    		{
    		 stili = document.styleSheets.length;
    		 for (i=1; i < stili; i++)
    		  {
    	  	    document.styleSheets[i].disabled = true;
    		  }
      	     document.styleSheets[attivo].disabled = false;
    		}
      else
    		alert("Spiacenti, questa funzione non è supportata dal suo browser");
    }
    con IE6 niente problemi
    con mozilla 1.4 e mozilla firebir 0.7 mi scarica tutti i fogli di stile, ma non mi carica quello che passo alla funzione
    Con opera (mi pare il 7) mi restituisce l'alert che mi avvisa che la funzione non è supportata....
    con altri browser e su linux devo provare ancora [che tiranno il tempo! ]

    posso migliorare qualcosa? avete idee o suggerimenti?

    Se poi avete altri browser e mi fate un report mi fate un bel favore


  2. #2
    provato così?

    codice:
    supported = (document.styleSheets) ? true : false;
    function switch_stile(attivo)
     {
      if(supported) 
    		{
    		 stili = document.styleSheets.length;
    		 for (i=0; i < stili; i++)
    		  {
    	  	    document.styleSheets[i].disabled = true;
    		  }
      	     document.styleSheets[attivo].disabled = false;
    		}
      else
    		alert("Spiacenti, questa funzione non è supportata dal suo browser");
    }
    ciao

  3. #3
    da che mondo è mondo true e false sono costanti simboliche che si riferiscono alle costanti letterali 1 e 0.... posso credere che qualche browser faccia pasticci con 1 e 0?

    cmq dopo provo, adesso sono su un altro pc


  4. #4
    Originariamente inviato da }gu|do[z]{®©
    da che mondo è mondo true e false sono costanti simboliche che si riferiscono alle costanti letterali 1 e 0...
    beh, non in tutti i linguaggi è così, caro }gu|do[z]{®© (anche se non è il caso di JavaScript)...
    notato che partivi da 1 nel ciclo?

  5. #5
    Originariamente inviato da var
    beh, non in tutti i linguaggi è così, caro }gu|do[z]{®© (anche se non è il caso di JavaScript)...
    notato che partivi da 1 nel ciclo?

    beh... 0 e 1 sono più a basso livello.... quindi dovrebbe essere più universale di true e false.. ad esempio treue false non esistono nativamente in C...

    per il ciclo: pèartivo da 1 perchè il foglio di stile 0 è quello di base che deve restare fisso... in pratica dato che cambio solo il colore è inutile fare due fogli di stile identici che cambiano solo per il colore, quindi ho fatto uno di base fisso e due (per ora) coi colori che si possono interscambiare sommandosi sempre a quello di base

  6. #6
    Originariamente inviato da }gu|do[z]{®©
    beh... 0 e 1 sono più a basso livello.... quindi dovrebbe essere più universale di true e false.. ad esempio treue false non esistono nativamente in C...
    in Java sei costretto a usare true e false, per esempio.

  7. #7
    Originariamente inviato da var
    in Java sei costretto a usare true e false, per esempio.
    Hum.. java è ad oggetti quindi suppongo che true e false siano istanze di una classe boolean...non conosco bene java però mi sembra strano che non si possano indicare anche con i classici 0 ed 1... in js sarebbe ancora + strano... ad ogni modo provo... nell'ostile mondo del crossbrowsing nulla mi meraviglia più.. potrebbe essere una giusta intuizione la tua... lo scopriremo solo vivendo

    grazie per adesso


  8. #8
    Originariamente inviato da }gu|do[z]{®©
    Hum.. java è ad oggetti quindi suppongo che true e false siano istanze di una classe boolean...
    no, sono tra i tipi primitivi di Java, non sono istanze di una classe.
    buon lavoro con il tuo script! ;)

  9. #9
    Originariamente inviato da var
    no, sono tra i tipi primitivi di Java, non sono istanze di una classe.
    buon lavoro con il tuo script!
    si vede che java è meno integralista di altri linguaggi ad oggetti...

    in ogni caso non era quello... appena provato

  10. #10

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.