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

    XHTML Strict e Javascript-css

    Ho un problema:
    ho un javascript di animazione grafica che usa il css: in poche parole sposta un oggetto cambiando i valori delle sue coordinate di posizionamento sullo schermo (top e left). Ho usato questo javascript in una pagina xhtml strict: con ie funziona perfettamente, mentre con mozilla solo se cambio doctype (transitional).
    E' veramente lo strict che mi blocca il javascript?
    Se sì per quale motivo non si possono cambiare i valori dello stile di un oggetto?
    Quindi se usando lo strict non si possono fare effetti grafici con javascript, come si possono ottenere in altro modo?

    Poi ho un'altra domanda ma non riguarda il css:
    ho una pagina php che fa uso delle sessioni e che restituisce un xhtml strict. Se uso un link del tipo
    testo
    non mi da alcun problema, se uso invece un link tipo
    testo
    il validatore xhtml strict mi segnala una serie di errori perchè rileva il numero id della sessione insieme all'indirizzo scritto nel codice, cioè vede il link come se fosse
    testo (ovviamente inventato)
    Riesco ad aggirare il problema usando javascript cioè
    testo
    però in questo modo lo risolvo a scapito dell'accessibilità.
    E' possibile mi chiedo usare le sessioni senza incappare nell'errore del validatore xhtml strict?

    Grazie dell'aiuto

  2. #2
    Utente di HTML.it L'avatar di bagu
    Registrato dal
    Mar 2003
    Messaggi
    620
    quale è l'errore che ti segnala il validatore ?
    non è che vuole & amp;(scritto attaccato) al posto di & ?
    Non so se Dio esiste ma se non esiste ci fa una figura migliore!
    - S. Benni -

  3. #3
    Originariamente inviato da bagu
    quale è l'errore che ti segnala il validatore ?
    non è che vuole & amp;(scritto attaccato) al posto di & ?
    Uno degli errori è sicuramente quello, ma il punto è che la "&" non è scritta nel codice, viene rilevata dal validatore perché c'è una sessione in corso, ma in realtà "&PHPSESSIONID=gth46yj..." nel link non c'è scritto! Quindi non potrei correggere la "&" in "&"!
    "Non hai veramente capito qualcosa finché non sei in grado di spiegarlo a tua nonna!"

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Torno alla domanda originaria.

    Il JS e` possibile usarlo dentro un XHTML Strict, ma:
    - lo script non deve essere inserito dentro il file (oppure essere incluso in commenti CDATA - fai una ricerca nel forum, se nonsai cosa sono);
    - alcune istruzioni vanno usate con molta cautela (ad esempio se modificano parti della pagina);
    - se usi document.write() occorre sapere cosa si fa.

    Le istruzioni da te citate non dovrebero dare problemi, ma per un giudizio piu` completo, occorre vedere la pagina.

    Per quanto riguarda IE, devi sapere che il DOCTYPE deve essre la prima riga della pagina, altrimenti non viene interpretato (a dispetto delle norme).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5

    pagine

    Dunque: ho fatto due pagine isolando la parte di codice interessata.
    pagina a
    pagina b
    Nella pagina a il validatore non dà errore (problema dei link aggirato con javascript:location=link) e usando ie il javascript funzione correttamente (menù a scomparsa laterale che mantiene la stessa distanza dal bordo superiore dello schermo nonostante lo scrolling).
    Nella pagina b invece non è stato usato il javascript per i link e infatti il validatore dà tutta la serie di errori citati.
    Sia "a" che "b" se vengono visualizzati con mozilla non funziona il menù a scomparsa.
    "Non hai veramente capito qualcosa finché non sei in grado di spiegarlo a tua nonna!"

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Posto che la DTD e` XHTML Strict, vi sono vari errori in ambedue le pagine. Ne segnalo alcuni.

    1. Gli script e i CSS NON POSSONO stare dentro la pagina. La soluzione migliore sarebbe di metterli fuori (in un file a parte); in alternativa si devono includere in commenti CDATA:
    codice:
    <style type="text/css">
    /*<![CDATA[*/
    .lnk { width:136px;font-size:10px;text-align:left;color : #7f7f7f;
    	font-family: Verdana, Arial, Geneva, Helvetica, sans-serif;
    }
    .lnk a:link    {text-decoration : none; color : #7f7f7f;}
    .lnk a:visited {text-decoration : none; color : #7f7f7f;}
    .lnk a:hover   {background-color:#dfdfdf;color:#7f7f7f;}
    /*]]*/
    </style>
    Stessa cosa per gli script

    2. Dato che un tag vuoto puo` non venir interpreatato dal parser HTML, occorre inserire almeno uno spazio quando si linkano script esterni:
    codice:
    <script src="error/move.js" type="text/javascript"> </script>
    3. Non mi piacciono gli stili embedded, tanto piu` che ripeti lo stesso stile molte volte: sarebbe meglio inserire gli stili tra i tag <style> ad inizio pagina.

    4. L'attributo href dei link deve contenere un indirizzo; non e` il caso di inserire uno script. Nel tuo caso si puo` scrivere:
    codice:
    Link
    Nota la sintassi corretta (window. e .href), altrimenti qualche browser potrebbe non interpretare.

    Nota: quest'ultimo punto e` piu` riferito alla sintassi JS, e sarebbe da trattare nel forum scripting.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7

    si, ma...

    Ma a parte questi errori, dai quali non dovrebbe dipendere il mio problema (visto che su ie mi funziona e che su mozilla mi funziona se cambio doctype), sai dirmi qual'è la sua causa?
    Riassumendo i dati, il js:
    -funziona sempre su ie
    -non funziona su mozilla solo se il doctype è strict
    -modifica i valori delle coordinate di un oggetto sullo schermo (-> css)
    Aggiungendo anche che analoghi js che agiscono sui css (visibility, background) funzionano perfettamente sia su ie sia su mozilla con doctype strict, deduco che il problema sia proprio l'effetto di spostamento. Ma non ne saprei dire il perchè!

    E mi sai dire invece qual'è la causa del problema di validazione?
    "Non hai veramente capito qualcosa finché non sei in grado di spiegarlo a tua nonna!"

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il punto 3 e` devastante: se un Js non viene caricato, e` come se la riga non ci fosse, quindi non puo` funzionare.

    Con a sintassi usata da te, IE lavora in modo quirk (cioe` non interpreta il DOCTYPE): ecco spiegate le grosse differenze fra i browser.

    Con gli errori JS (segnalati al punto 4) qualche browser non interpeta quelle righe (altre differenze tra browser).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9

    risolto

    ho risolto: il problema era che per Mozilla il valore per la posizione andrebbe espresso, a rigore, sotto forma di stringa e comprendendo l'unità di misura (ad esempio ...style.top='20px'), e io omettevo l'unità di misura!

    Risolto il primo problema, riguardo il secondo (PHPSESSIONID) qualcuno mi può dare una mano?
    "Non hai veramente capito qualcosa finché non sei in grado di spiegarlo a tua nonna!"

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.