Newsgroup: it.comp.www.html
Titolo: Pagine che non si "deformano"...

Ciao a tutti! Intento nello studio e nella costruzione di un mio sito mi
sono imbatuto in un problema piuttosto comune credo... quello della
struttura delle pagine e quello delle risoluzioni dei video...
Ho comprato e letto qualche libro a riguardo ( a riguardo di html, ecc ecc )
ma le soluzioni a questo problema non mi hanno soddisfatto... o
semplicemente non le ho capite...
Come faccio a creare un sito con frame che rimanga sempre uguale a
prescindere dalla risoluzione con cui viene visto?
Grazie
Marco

 Marco
UKeviNet

 tutte le risoluzioni
Mmm... dove lo posso trovare uno script di questo tipo? ma con le immagini
come la metto? Se riduco il carattere non riduco la formattazione delle
pagine o sbaglio?
Marco

 Marco
Andrea


quello "script" parte tutto dall'identificazione della risoluzione dello
schermo del client.
Essendo javascript questo non sarebbe il newsgroup più appropriato... cmq
per le immagini e tutto il resto se vuoi che siano visualizzate identiche in
640x480, 800x600 e 1024x768 DEVI usare quella funzione javascript e creare 3
pagine diverse. A seconda della risoluzione video del client ne verrà
caricata una piuttosto che le altre.
Visto che oggi sono di luna buona copia-incolla questo codice.. è quello
della pagina che devi richiamare. Poi ci pensa il codice iscritto a
indirizzare verso una o le altre pagine. Basta che nomini poi le pagine come
(esempio) index640.htm index800.htm e index1024.htm
o crei una cartella per ogni risoluzione video (cosa migliore)
<html>
<head>
    <script language="javascript">
        function resvideo() {
            var ris = screen.width
            if (ris=640)
                location.href="pagina640x480.html"
            else
                if (ris=800)
                    location.href="pagina800x600.html"
                else
                    location.href="pagina1024x768 o superiori.html"
        }
    </script>
</head>
<body>
</body>
</html>

scusa.. mi era scappato un errore.. il vero codice è così:
 <html>
 <head>
     <script language="javascript">


  </html>
Per ottenere il tuo scopo (ridimensionare gli elementi della pagina
in base alla risoluzione dello schermo) č un buon inizio,
ma ti conviene richiamare diversi css invece che diversi html,
in modo da avere lo stesso contenuto scritto una volta sola
ma al tempo stesso visibile in modo diverso a seconda del client
(si sa che diverse versioni dello stesso sito
non sono mai aggiornate allo stesso modo... :D)
Inoltre tieni presente che non sempre (quasi mai)
l'utente naviga con la finestra a tutto schermo,
e poi la finestra si puň ridimensionare,
dunque, se per te č importante che le immagini
siano proporzionate alla finestra, ci vuole qualcosa in piů...
MaRoK

 MaRoK
Hehehe vero.. ma siccome il tipo non mi sembrava molto abile gli ho
suggerito il rimedio più semplice da attuare. Va da se' che se ha
dimestichezza con gli stili è bene usare quelli (però a quel punto deve
stare attento a ridimensionare anche le immagini se vuole che occupino
sempre la stessa superficie a video).
UKeviNet

 sempre la stessa superficie a video).
Al tipo interessano tutte le possibilità... le cose si imparano...
Io sono per una scelta che il sito appaia sempre lo "stesso" a prescindere
da risoluzioni e dimensioni della finestra... cosa dovrei usare in questo
ultimo caso?
Marco

 ultimo caso?
Allora, *esattamente* uguale ti dico già subito che gnieafà,
però... possiamo tentare un'approssimazione.
Prendiamo per esempio la dimensione dei caratteri del testo.
Nel nostro caso mi sembra preferibile usare dimesioni in px,
che almeno su explorer rimangono fisse.
Per alcuni è un un pregio, per altri un difetto,
se sei tra i secondi, nulla ti vieta di scegliere un'altra unità di misura.
Se javascript è disabilitato, non abbiamo informazioni sul client
(a meno di non scomodare qualcosina lato server).
Dobbiamo dunque stabilire un default, per esempio: 11px.
Allora, all'inizio del tuo file html, richiama un css:
<link rel="stylesheet" href="default.css">
default.css conterrà la riga:
body {font-family: Verdana, Sans-Serif; font-size:11px}
(ovviamente al lato pratico non ti basterà definire il carattere
per l'elemento body, è solo un esempio...)
Se javascript è abilitato, il discorso cambia:
DOPO il richiamo al css, carica un file js
<script type="text/javascript" src="pippo.js"></script>
Per ora supponiamo di limitare il controllo alla larghezza della risoluzione video,
e che al mondo esistano solo tre possibilità: 1024, 800 e 640.
In questo caso semplificato il file "pippo.js" sarà qualcosa del genere:
if (!document.all&&!document.getElementById&&!document.layers)
   document.write("") // esclusione dei vecchi browser
else if (screen.width>1023) // schermo largo almeno 1024 px
   document.write('<style type="text/css">body{font-size: 16px}</'+'style>')
else if (screen.width>799)  // schermo largo almeno 800 px
   document.write('<style type="text/css">body{font-size: 13px}</'+'style>')
else // schermo minore di 800 px
  document.write('<style type="text/css">body{font-size: 10px}</'+'style>');
(i numeri li ho sparati a caso...)
Una volta capito il meccanismo, ti potrai costruire una funzione più generale
che, partendo dalle dimensioni della finestra del client,
ti calcolerà la dimensione esatta da assegnare ai caratteri
entrando in azione ogni volta che la finestra viene ridimensionata.
Stessa cosa per le immagini e per qualunque altro elemento della pagina.
Se cerchi qualche disperato che ti scriva una cosa del genere
prova su it.comp.lang.javascript... non si sa mai... :D
MaRoK
PS: è un bel casino... sicuro che ne valga la pena? :)))

Intanto grazie per la collaborazione... mmm... si in effetti sembra
piuttosto complicato...
Mi chiedi se ne vale la pena... bhè... cavolo il mio sito mi sembra
disegnato è ideato benino ( a me piace ) come design e colori... solo che
guardato da una risoluzione diversa da 1024*768 perde tutti il suo "fascino"
( o quasi ) perche vanno a farsi friggere le proporzioni e l'"equibrio" tra
testo immagini, colori. e la cosa non è che mi intusiasmi...
Ho letto su un libro che il problema si poteva aggirare usando dei "frame
annidati" o qualcosa del genere... ovvero frame dentro i frame... ma non mi
è chiaro il meccanismo... e le prove che ho fatto non sono state molto ...
interessanti...
Allora mi sono chiesto come creare un sito "stilisticamente" carino e il piu
versatile possibile... per fare quello che ho fatto fino adesso ho usato
Dreamweaver...
Marco


ultimo caso?
Flash :P
Ma è una soluzione fattibile solo in alcuni casi e pure abbastanza
limitata. Tuttavia permette di fare proprio quello che vuoi ovvero
ridimensionare la pagina in maniera dinamica (vettoriale) per essere
visualizzata nello stesso modo in tutte le risoluzioni possibili.
Nel tuo caso non sembra la strada giusta da percorrere, ma può sempre
essere tenuta in considerazione :)
--
Ciao!
Davide
[DAOC PG]Armorgod Troll Sciamano - Midgard Vortigern[/DAOC PG]

Guardati questo link:
http://digilander.libero.it/emaboni/test/prova.htm
e prova a cambiare la risoluzione video.. non ho provato a cambiarla sul pc,
ma... stando al codice che c'ho scritto dovresti comunque capire come puoi
tentare di fare.
A presto
UKeviNet

Anche io ho visto la tua pagina di test....lo script é corretto....ma
c'é un piccolo difetto....io con la rotella del mouse posso cambiare
la dimensione dei caratteri per ingrandire il testo......ergo....penso
che una soluzione "accettabile" sarebbe quella di combinare lo script
ad uno stile di testo tramite CSS.....questo eviterebbe ogni tipo di
cambiamento.....
Ciao.


----
Mi trovate su 
http://ross.altervista.org

Avevo provato a controllare la grandezza del carattere grazie agli stili..
vabbeh, cmq il mio scopo era quello di idmostrare che è una strada molto
complicata. Scusa se non sistemo quell'esempio ma sto creando un nuovo sito
che mi è stato commissionato.. niente di grande (bastano quelle paginette da
front page per dire..) ma mi serve lo stesso il tempo per scrivere tutti i
datio che mi hanno chiesto
UKeviNet


 testo immagini, colori. e la cosa non č che mi intusiasmi...
Be', magari puoi provare ad impostare
dimensioni in percentuale anziché assolute per le tabelle,
o rendere piů "flessibile" la tua impostazione grafica
cambiando la disposizione degli oggetti...
altrimenti... buon corso di javascript! :D
MaRoK

 visualizzata nello stesso modo in tutte le risoluzioni possibili.
Mmm... anche io stavo pensando a flash... solo che mi preoccupa il fatto che
fare un sito interamente in flash è lungo e laborioso... o no? C'è da
impostare ogni movimento ogni istanza, ecc ecc... però il sito che ho fatto
per adesso dice solo chi sono... una sorta di vestrina... quindi flash
potrebbe andare anche bene...
marco

potrebbe andare anche bene...
il bello di flash è che puoi fare tutto perchè la pagina viene
considerata un filmato interattivo :)
Poi chiaramente questo "tutto" devi saperlo fare, con script ed eventi
vari...


 vari...
Adesso ci penso... mah...
Marco