21.03.2002 >Spero che il tuo sistema non funzioni solo con IE! Altrimenti tanto >varrebbe fare un .exe per Windows. ti racconto una storia :] quando ho cominciato a programmare, mi sono trovato, presto, immerso in una selva oscura: non facevo in tempo a rendere compatibile una routine con i vari IE, Netscape ed Opera, che avevo già deciso di cambiare il codice originario, e l'idea di base ad esso collegata -- così mi perdevo di nuovo nel rimediare alle grane di compatibilità. risultato: alcune settimane perse a girare a vuoto e a torturarmi, impegnato in cose (tutto sommato marginali) come l'interfaccia grafica, mentre il resto (più importante) languiva. a questo punto, ho pensato di fare marcia indietro: PRIMA, pensare al "motore di gioco" (il sistema logico che gestisce l'avventura in sé), POI alla "compatibilità grafica" tra i vari browser (di solito si tratta di questo: differente rapporto con i Layers, differente gestione degli Eventi, problemi con tutto quel che è CSS). ho messo da parte GNU / Linux -- dove faccio girare Netscape 4, 6 e una release di Opera -- e, per meri motivi pratici, ho preso come riferimento Internet Explorer 5 (in quanto il browser attualmente più diffuso) e l'ultima versione di JavaScript in circolazione. ho cominciato a programmare per IE 5, cercando di sfruttare tutto quel che offre in termini di risorse DHTML, CSS e perfino TAG proprietari; con l'idea, in seguito -- una volta ottenuto un risultato "stabile" -- di "tornare indietro", per così dire, e pensare alla compatibilità, provando a "spremere" il più possibile da ciascun browser. il fatto triste è che dovrò programmare in modo differente gran parte dell'interfaccia grafica (l'aspetto che crea realmente dei problemi), per rilasciare un'unica versione del sistema, che giri più o meno nello stesso modo su altri browser e altrettante versioni. ecco perché, come scrivevo, ho (temporaneamente) "abbandonato" i cookies: con IE 5 e superiore, c'è un "trucchetto" che consente di salvare in locale le "variabili di stato" senza ricorrere ai cookies (scomodi). quando poi guarderò a Netscape, vedrò di trovare la soluzione più appropriata per salvare dati su disco; idem per Opera. partimenti, dovrò ampliare alcuni passaggi di codice, adeguandoli, di volta in volta, alla versione di JavaScript impiegata dal browser posseduto dall'utente. per questi motivi, al momento il codice di esempio che ho scritto -- potenzialmente instabile e davvero tanto ma tanto "alfa" :) -- gira *unicamente* sotto Internet Explorer 5.0 e superiori (6.1). su IE 4, naturalmente (!), crasha di brutto :'') ma se tutto andrà come spero, in futuro dovrebbero andare bene più o meno tutti i browser *grafici* (Lynx, dove sei?), e pertanto, in teoria, le avventure dovrebbero girare (in modi un po' differenti) su PC-Windows, PC-Linux e Mac. a proposito... ma dimmi un po': ce l'hai un IE 5/6 a portata di mano per dare un'occhiata alla demo che distribuirò fra qualche giorno? :] ultima cosa: a parte il vantaggio della compatibilità (e gli svantaggi strutturali dei browser), programmare con tecnologie pensate per il Web, se da una parte aiuta me a finire prima il lavoro (tante routine già pronte a disposizione, vedi la gestione degli hyperlink ecc.), dall'altra, come nel caso di IDRA, può avvantaggiare l'utente-medio, inesperto, che sa qualcosa di HTML e di JavaScript, nel creare una propria "avventura di testo punta-e-clicca" -- sia a livello di programmazione, che a livello di gestione degli aspetti estetici. in fondo -- *tecnicamente* -- è pur sempre... un sito Internet :) grazie e a presto, ciao! Lord 2023 26.03.2002 >Insomma, vuoi limitare al massimo la sua esportabilità e compatibilità! ^__^ ma no, anzi; per esempio: ho pressoché risolto i prob di compatibilità con IE 4 ed IE 5 (forse uploado stanotte una versione -- ancora da testare -- che funziona più o meno su tutti gli IE dalla v. 4 alla 6). la mia intenzione è questa: usare tecnologie differenti per browser differenti, cercando di "spremere" ciò che ciascuno può offrire (in altre parole: il programma riconosce da solo il browser impiegato dall'utente, ed automaticamente usa la tecnologia + appropriata per realizzare un medesimo fine). x quanto riguarda Active-X e VBScript, che non sono compatibili con Netscape, tuttavia potrebbero darmi una mano a perfezionare la compatibilità fra differenti versioni di Internet Explorer (vedi la gestione dei salvataggi, del menu a comparsa e del mouse). a presto, L2023