Vai al contenuto

xhtml 1.0 frameset, w3c, ma ci fanno o ci sono ???


Messaggi raccomandati

Sto scrivendo un portale in xhtml 1.0 strict, e per la strtttura ho necessariamente bisogno di utilizzare u nset di frame. Ora ho l'assoluta necessita di validare una per una le pagine con i lvalidatore della w3c, ma ho i lseguente problema:

E' impossibile creare u nset di frames senza bordi utilizzando i sol itag descritti nella dtd di xhtml 1.0 frameset.

Gli attribbuti marginwidth marginheight e frameborder ammessi dalla dtd nel tag frame impostati a 0 hanno i lsolo effetto di far sparire la linea dei bordi ma la spaziatura rimane ugualmente, mentre sempre secondo la dtd il tag frameset non ammette attribbuti tipo border et similia per i bordi.

Provando con 4 diversi browser netscape opera explorer firefox l'unico modo di far sparire i bordi e mettere l'attribbuto border="0" ne ltag frameset, dato che questi browser ed altri + blasonati supportano questo attribbuto correttamente per questo tag,. Però ovviamente la pagina non m iviene validata dato che l'attribbuto no nrientras nelle specifiche della dtd xhtml 1.0 frameset ne in quella di html 4.01 frameset. Il suggerimento dato dal validatore della w3c è di usare i css per ovviare all'ttributo no nsupportato...ma come ?? Ho provato anche con icss ma i bordi non scompaiono =_=, ma sarà mai possibile ottenere u nset di frame senza alcun bordo seguendo le specifiche della dtd della w3c, o devo perforza accontentarmi del fatto che l'attributo border nel tag frameset è supportato dai browser maggiormente in uso ?

Ego cogito ergo sum

Link al commento
Condividi su altri siti

Non so esattamente cosa tu debba fare e quindi da dove nasca questa assoluta esigenza di usare i frame, quindi prendi la mia critica con le molle.

Usare il frame è una scelta deprecabile, anche perchè per larghissima parte dei suoi usi, può essere egregiamente sostituito dall'uso accorto di CSS nella simulazione dei frame.

Il settaggio dei bordi via XHTML avviene attraverso l'uso del tag

frameborder

.

Il framborder andrebbe applicato al frameset.

Usando i CSS puoi agire in questo modo.

Assegni un identificativo o una classe al frame (se l'elemento è ripetuto nella pagina si usa una classe, se è visualizzato solo una volta per pagina si usa un identificativo) dopodichè nel CSS setti i parametri del bordo usando semplicemente questa sintassi:

#nomeframe {border:none;}

:shock:

Link al commento
Condividi su altri siti

Sono d'accordo con creattivo.

Se hai una necessita' assoluta di utilizzare i frame, puoi cavartela egregiamente anche con php. Esempio banale: cinque pagine con lo stesso menu. Crei un file menu.php e ci schiaffi dentro il codice html del menu. Poi crei pagina1.php, pagina2.php. paginan.php ed esattamente nel punto dove vuoi far apparire il menu inserisci una linea di codice:

<?php include ("menu.php");?>

per esempio. Ti lascio immaginare gli altri usi tipici:

<?php include ("header.php");?>

<?php include ("footer.php");?>

Ottieni lo stesso risultato dei frameset e puoi tranquillamente utilizzare del codice xhtml strict. E mentre un sito coi frameset va a pu**ane con i browser vecchi o sui palmari per esempio, con la tecnica sopra il sito sara' visibile ovunque, e degradera' "gracefully" nei browser piu' vecchi.

:ciao::shock:

Link al commento
Condividi su altri siti

Originally posted by creattivo

Non so esattamente cosa tu debba fare e quindi da dove nasca questa assoluta esigenza di usare i frame, quindi prendi la mia critica con le molle.

Usare il frame è una scelta deprecabile, anche perchè per larghissima parte dei suoi usi, può essere egregiamente sostituito dall'uso accorto di CSS nella simulazione dei frame.  

Il settaggio dei bordi via XHTML avviene attraverso l'uso del tag

frameborder

.

Il framborder andrebbe applicato al frameset.

Usando i CSS puoi agire in questo modo.

Assegni un identificativo o una classe al frame (se l'elemento è ripetuto nella pagina si usa una classe, se è visualizzato solo una volta per pagina si usa un identificativo) dopodichè nel CSS setti i parametri del bordo usando semplicemente questa sintassi:

#nomeframe {border:none;}

:shock:

Non funziona e cmq m isembra che ci avevo giò provato anche così con il css è una strttura a tre frame una oper il menù uno per l'effetto dissolvenza la'ltro pe rle varie pagine e ho provato ad applicare il css tramite clsse, provare per credere. Cmq la spaziatura tra i frame rimane riepto sembra strano ma sparisce sol oapplicando l'attributo border="0" nel tag frameset.

Comincio a pensare seriamente a una struttura senza frame, sol oche avevo letto u narticolo su html.it dove si discuteva appunto su quando era conveniente usare i frames e quando no. Dovrebbe essere + che altro una vera e propria applicazione online e per questo tipo di portale si consigliava di utilizzare set di frames appuinto per evitare sovraccarichi del server. Vedi tipo www.legends.it una piccola piattaforma per il gioco di ruolo onlione scritta da me (asp+mysql) , dovrebbe essere una cosa simile ma per tutt'altro scopo ed in php+mysql (su server windows 2003 però dato che sol oquell oh oa disposizione per le prove) vorrei vedere se riesco a costruire un piccolo prototipo di piattaforma di e-learning . Cmq la cosa che mi ha fatto + sorridere è dreamweaver 8, di solito non lo utilizzo o lo utilizzo poco, ma m ison detto vediamo come crea u nset di frame senza bordi questo prog, ...ho provato e tac, un documento xhtml che no npassa la validazione eppure fa riferimento alla dtd della w3c ghgh.

Anzi ora che sto cominciando a metterci le man isu, la strttura sarà a 4 frame i 3 sopra più uno nascosto, cmq non è vero che i frames son odepecrati anzi, sono stati riformulati per ovviare ai problemi che danno nella forma di xframes, e cmq per applicazioni web sono assolutamente necessari potrei citare i ostesso decine di esempi in cui non è possibile otttenere in maniera semplice e snella i lrisultato che si ottiene con i frameset nelle applicazioni web. Cmq no nriesco propri oa risolvere m itocca utilizzare la pagina che contine i lframeset senza poterla validare :ciao:

Ego cogito ergo sum

Link al commento
Condividi su altri siti

Bah!

Ovviamente sarebbe interessante vedere il tuo CSS e il tuo documento XHTML prima di fare ulteriori considerazioni, perchè personalmente mi pare strano che quel parametro via css venga ignorato.

Anyway...

Tutto il tuo discorso ha senso...si...ma solo per te. :gira:

Da quello che scrivi il frame ti serve esclusivamente per linkare in pagina una serie di elementi ripetuti. Perdonami, ma se esiste una ragione per usare i frames certo non è quella derivante dall'uso di elementi ripetuti nelle pagine. Per questo genere di applicazioni si usano gli includes (asp, php o jsp (che avevamo scordato :oops: )). Il supposto sovraccarico del server è una sciocchezza. Se un server sovraccarica per eseguire uno o una serie di include (a meno che non siano 10 milioni, ovvio) allora non so cosa accadrebbe nel caso in cui dovesse accedere in lettura/scrittura a dati su DB.

Per cui, perdona, ma credo che la tua giustificazione sia un po' debole.

Ed è debole anche la tua difesa dei frames. L'uso dei frames è deprecato a livello accessibilità. Ora, qui come altrove tutti sanno che certamente io non sono un cultore né uno strenuo difensore dell'accessibilità a tutti i costi, ma questo non significa che si debba sputare sopra a quelle che sono la regola base dell'accessibilità, di quella che definirei "minima".

Detto ciò io continuo a non capire esattamente cosa, come e perchè non ti valida il documento.

Ci posti il codice del sito e del css o il link?

Thanks :P

sono stato fulminato da un sospetto :P

com'è il DTD del tuo documento?

:roll:

Link al commento
Condividi su altri siti

Originally posted by Dob3rman

Non funziona e cmq m isembra che ci avevo giò provato anche così con il css è una strttura a tre frame una oper il menù uno per l'effetto dissolvenza la'ltro pe rle varie pagine e ho provato ad applicare il css tramite clsse, provare per credere. Cmq la spaziatura tra i frame rimane riepto sembra strano ma sparisce sol oapplicando l'attributo border=\"0\" nel tag frameset.

Comincio a pensare seriamente a una struttura senza frame, sol oche avevo letto u narticolo su html.it dove si discuteva appunto su quando era conveniente usare i frames e quando no. Dovrebbe essere + che altro una vera e propria applicazione online e per questo tipo di portale si consigliava di utilizzare set di frames appuinto per evitare sovraccarichi del server. Vedi tipo www.legends.it una piccola piattaforma per il gioco di ruolo onlione scritta da me (asp+mysql) , dovrebbe essere una cosa simile ma per tutt'altro scopo ed in php+mysql (su server windows 2003 però dato che sol oquell oh oa disposizione per le prove) vorrei vedere se riesco a costruire un piccolo prototipo di piattaforma di e-learning . Cmq la cosa che mi ha fatto + sorridere è dreamweaver 8, di solito non lo utilizzo o lo utilizzo poco, ma m ison detto vediamo come crea u nset di frame senza bordi questo prog, ...ho provato e tac, un documento xhtml che no npassa la validazione eppure fa riferimento alla dtd della w3c ghgh.

Anzi ora che sto cominciando a metterci le man isu, la strttura sarà a 4 frame i 3 sopra più uno nascosto, cmq non è vero che i frames son odepecrati anzi, sono stati riformulati per ovviare ai problemi che danno nella forma di xframes, e cmq per applicazioni web sono assolutamente necessari potrei citare i ostesso decine di esempi in cui non è possibile otttenere in maniera semplice e snella i lrisultato che si ottiene con i frameset nelle applicazioni web. Cmq no nriesco propri oa risolvere m itocca utilizzare la pagina che contine i lframeset senza poterla validare :gira:

A sto punto non so che dirti, vorrei davvero vederlo questo codice - devo ancora trovare un caso dove i frameset siano indispensabili! Soprattutto se vuoi sviluppare in php come dici, gli include sono una soluzione di gran lunga preferibile, anche nel campo degli applicativi di e-learning - Dokeos per esempio, che è sviluppato da amici qui a Bruxelles: http://www.dokeos.com/

Per il DTD, devi usare questo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

se, come hai scritto nel primo post, stai "sviluppando in xhtml strict", avrai errori, è normale, sono dovuti a un DTD errato rispetto al codice. Non basta avere un DTD, deve essere quello giusto!!!

:oops:

PS a seconda della situazione, io terrei in esame anche una soluzione basata su AJAX :wink:

Link al commento
Condividi su altri siti

Originally posted by Ce+--><div class='quotetop'>QUOTE(Ce)</div>
<!--QuoteBegin-Dob3rman

Non funziona e cmq m isembra che ci avevo giò provato anche così con il css è una strttura a tre frame una oper il menù uno per l'effetto dissolvenza la'ltro pe rle varie pagine e ho provato ad applicare il css tramite clsse, provare per credere. Cmq la spaziatura tra i frame rimane riepto sembra strano ma sparisce sol oapplicando l'attributo border=\"0\" nel tag frameset.

Comincio a pensare seriamente a una struttura senza frame, sol oche avevo letto u narticolo su html.it dove si discuteva appunto su quando era conveniente usare i frames e quando no. Dovrebbe essere + che altro una vera e propria applicazione online e per questo tipo di portale si consigliava di utilizzare set di frames appuinto per evitare sovraccarichi del server. Vedi tipo www.legends.it una piccola piattaforma per il gioco di ruolo onlione scritta da me (asp+mysql) , dovrebbe essere una cosa simile ma per tutt'altro scopo ed in php+mysql (su server windows 2003 però dato che sol oquell oh oa disposizione per le prove) vorrei vedere se riesco a costruire un piccolo prototipo di piattaforma di e-learning . Cmq la cosa che mi ha fatto + sorridere è dreamweaver 8, di solito non lo utilizzo o lo utilizzo poco, ma m ison detto vediamo come crea u nset di frame senza bordi questo prog, ...ho provato e tac, un documento xhtml che no npassa la validazione eppure fa riferimento alla dtd della w3c ghgh.

Anzi ora che sto cominciando a metterci le man isu, la strttura sarà a 4 frame i 3 sopra più uno nascosto, cmq non è vero che i frames son odepecrati anzi, sono stati riformulati per ovviare ai problemi che danno nella forma di xframes, e cmq per applicazioni web sono assolutamente necessari potrei citare i ostesso decine di esempi in cui non è possibile otttenere in maniera semplice e snella i lrisultato che si ottiene con i frameset nelle applicazioni web. Cmq no nriesco propri oa risolvere m itocca utilizzare la pagina che contine i lframeset senza poterla validare :gira:

A sto punto non so che dirti, vorrei davvero vederlo questo codice - devo ancora trovare un caso dove i frameset siano indispensabili! Soprattutto se vuoi sviluppare in php come dici, gli include sono una soluzione di gran lunga preferibile, anche nel campo degli applicativi di e-learning - Dokeos per esempio, che è sviluppato da amici qui a Bruxelles: http://www.dokeos.com/

Per il DTD, devi usare questo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

se, come hai scritto nel primo post, stai \"sviluppando in xhtml strict\", avrai errori, è normale, sono dovuti a un DTD errato rispetto al codice. Non basta avere un DTD, deve essere quello giusto!!!

:oops:

PS a seconda della situazione, io terrei in esame anche una soluzione basata su AJAX :wink:[/b]

Ovvio che h ousato :

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>mainframe</title>

fin quì ci arrivo :P Cmq si sembra che il css mi vegna ignorato. Cmq alla struttura a frames non rinuncio, anzitutto ho bisogno di una parte statica il menù appunto con u nframe nascosto che viene refreshato ogni tot secondi da un js dalla parte statica, il frame nascosto conterrebbe una pagina di servizo che restituisce valorii elaborati server side e l ipassa lato client via js alla parte statica, per quell oavevo messo ad esempio il link al sito che avevo scritto sopra, dove ad esempio una tra tante, , appare in maniera dinamica grazie a questo trucvchetto e al dhtml una lettera roteante quando si riceve una missiva interna e altre così così ottenibili solo con i lrefresh di unframe nascosto, tecnica sulla quale si basa +o- anche la libreria jsrs remote scripting anche se + raffinata. Con gli include avrei una intera pagina stratica, mettiamola così, se un utente sta visitando una sezione del mio sito e riceve un post, la notifica di quest'utlimo la potrà vedere solo se clicca da qualche parte e carica nuovamente la pagina la quale effettuerà le query necessarie al db e nel daso trovi nuovi messaggi manderò la notifica ma per ottenere ciò che voiglio ottenere con la strttura a frames con una pagina come dite voi dovrei utilizzare un iframe nascosto, o tecnologie che esulano dal semplice xhtml css e via dcendo una tra tante java, ripeto ora non è il luogo per discutere di tutto i lmio progetto ma ci son ovalide ragion iper le quali non posso evitare frames o iframes. Poi scusatem itanto ma h odato un'occhiata alla demo di quella piattaforma e sicneramente non mi piace per niente ho visto già prodotti simili anche italiani, invece vorrei ispirarm ialla strttura e alle funzionalitò della blackbox che ritengo la + efficente in assoluto non per niente è utlizzata anche da alcune universitò italiane per alcuni corsi online :P. Anzi approposito se c'è qualcuno intertessato a collaborare al progetto mi mandi un pvt i ltutto cmq è ancora i nfase embrionale, mi farebbe piacere collaborare con qualcuno, requisiti: conoscenza di php, mysql uso di css e xhtml, amministrazione di sistemi windows 2k3, (tecnologie java-flash opzionali ma molto gradite).

Ego cogito ergo sum

Link al commento
Condividi su altri siti

Originally posted by Dob3rman+--><div class='quotetop'>QUOTE(Dob3rman)</div>
fin quì ci arrivo :D Cmq si sembra che il css mi vegna ignorato. Cmq alla struttura a frames non rinuncio, anzitutto ho bisogno di una parte statica il menù appunto[/b]

Puoi farlo con i css (e javascript per il supporto con IE)

Originally posted by Dob3rman+--><div class='quotetop'>QUOTE(Dob3rman)</div>

con u nframe nascosto che viene refreshato ogni tot secondi da un js dalla parte statica,[/b]

Cme dice CE... AJAX

Originally posted by Dob3rman

il frame nascosto conterrebbe una pagina di servizo che restituisce valorii elaborati server side e l ipassa lato client via js alla parte statica, per quell oavevo messo ad esempio il link al sito che avevo scritto sopra, dove ad esempio una tra tante, , appare in maniera dinamica grazie a questo trucvchetto e al dhtml una lettera roteante quando si riceve una missiva interna e altre così così ottenibili solo con i lrefresh di unframe nascosto,

Idem con patate... è molto meglio usare AJAX

<!--QuoteBegin-Dob3rman@

tecnica sulla quale si basa +o- anche la libreria jsrs remote scripting anche se  + raffinata. Con gli include avrei una intera pagina stratica, mettiamola così, se un  utente sta visitando una sezione del mio sito e riceve un post, la notifica di quest'utlimo la potrà vedere solo se clicca da qualche parte e carica nuovamente la pagina  la quale effettuerà le query necessarie al db e nel daso trovi nuovi messaggi manderò la notifica ma per ottenere ciò che voiglio ottenere con la strttura a frames con una pagina come dite voi dovrei utilizzare un iframe nascosto, o tecnologie che esulano dal semplice xhtml css e via dcendo una tra tante java,

No, javascript... (che tra l'altro utilizzi ugualmente per passare i dati all'altra pagina...)

<!--QuoteBegin-Dob3rman

ripeto ora non è il luogo per discutere di tutto i lmio progetto ma ci son ovalide ragion iper le quali non posso evitare frames o iframes. Poi scusatem itanto ma h odato un'occhiata alla demo di quella piattaforma e sicneramente non mi piace per niente ho visto già prodotti simili anche italiani, invece vorrei ispirarm ialla strttura e alle funzionalitò della blackbox che ritengo la + efficente in assoluto non per niente è utlizzata anche da alcune universitò italiane per alcuni corsi online :D. Anzi approposito se c'è qualcuno intertessato a collaborare al progetto mi mandi un pvt i ltutto cmq è ancora i nfase embrionale, mi farebbe piacere collaborare con qualcuno, requisiti: conoscenza di php, mysql uso di css e xhtml,  amministrazione di sistemi windows 2k3,  (tecnologie java-flash opzionali ma molto gradite).

mmmh... se non fossi così occupato parteciperei volentieri...magari un pvt te lo mando... :P

Inoltre ti consiglio questa: http://script.aculo.us , ci metti 30 secondi a capire come fare una chiamata ajax... ed è molto più semplice che usare i frame :ciao:

è molto completa come libreria e ti permetterebbe pure di fare quelle "animazioncine" di cui parli...

P.S. Creattivo, mi è piaciuto il commento sull'accessibilità.. :P

Link al commento
Condividi su altri siti

humm mi avete incuriosito, mi informo su ajax va e cmq potevo farl oanche via jsrs solo che si complica npon poco i ltutto solo che già ho utilizzato in passato questa libreria e mi ci son trovato bene e l'ho usata per molto + di "animazioncine" ci feci su anche una asp chat in/out senza refresh di pagina conm la quale tutt'ora centinaia di utenti chattano :P , se non è nulla di troppo complesso ...mi informo per benino va :ciao:

Humm ho cominciato a smanettarte un pò con cpaint..mooooolto interessante very tnk per la segnalazione ero rimasto un pò arretrato in merito :D

cmq:

JSRS is similar to AJAX, except in how it uses a hidden iframe to "cache" server responses before copying them to specific areas of a page being viewed.

in pratica uso questa tecnologia da +o- 3 anni :D

http://www.ashleyit.com/rs/

Sopra tropvate le librerie che ho utilizzato sin oad ora, ma non è che siano semplicissime da usare per benino utilizzare questa libreria per tutto un portale sarebbe una pratica sadomaso ghg già mi ha preso molto temp ocostruirci su una chat, cmq continuo a studiacchiarmi cpaint :P

Ego cogito ergo sum

Link al commento
Condividi su altri siti

Originally posted by Dob3rman

Ovvio che h ousato :

<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">

quel <?xml... ?>, anche se richiesto dallo standard XHTML strict, potrebbe essere fonte di sgradite sorprese su IE (rischia di andare in quirks mode ossia di fare l'esatto contrario di quel che ci si aspetterebbe)

Serve aiuto? Posso darti una mano in

Webmasters - Aiuto Software - Da Windows a Mac

Mappa Utenti ItaliaMac

[[miao]]

Link al commento
Condividi su altri siti

Vabbhò tanto ho rinunciato ai frames mi son convinto anche se comporterà molto più lavoro questa scelta. Cmq il problema no nsi era risolto, anche solo per curiosità poi posto il codice della pagina che contiene il frameset, chissà se si risolve i lmistero ghg

Ego cogito ergo sum

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...