Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188

    [xhtml + flash] Validare flash (post lungo)

    allora vorrei il vostro aiuto per barcamenarmi nel vasto mare della validazione xhtml+flash :tongue:

    premetto che ho già setacciato il web in cerca di soluzioni e ho letto, testato e in alcuni casi utilizzato saluzioni tra le più disparate, nessuna però pare essere "definitiva" (la cosa migliore mi appare ancora essere quella di non validare per nulla)... quindi se qualcuno la soluzione definitiva l'avesse trovata è gentilmente pregato di farmi sapere

    Definiamo un OBIETTIVO: l'obiettivo di sto thread è quello di produrre un doc xhtml con dentro un filmato flash visibile su tutti (o quasi) i browser che superi la validazione xhtml 1.1 w3c

    apro una parentesi -> (non mi interessano in questa sede discussioni psicologico/filosofiche sui perchè della validazione e sull'opportunità di trovare dei "trucchi" per far passare un documento che altrimenti non passerebbe, ecc. non fanno parte dell'obiettivo, lo dico perchè è un argomento in voga su molti forum/newsgroup e c'è più gente che litiga di quella che cerca una soluzione valida :quipy: )

    IL PROBLEMA: il problema, come tutti già saprete (lo dico solo per completezza), è che il metodo classico che si usa per inserire un flash movie in una pagina non passa la validazione in virtù della presenza del tag <embed> che non esiste in xhtml

    LE DISPARATE (ed approssimative) SOLUZIONI

    1) Eliminare il tag <embed> mettere il movies in un div, mettere come sfondo al div un'immagine alterativa (statica) del filmato.
    Ok il documento è valido, tutto funziona su IE però ns/moz e derivati non vedono per nulla il filmato e visualizzano l'immagine alternativa. Oddio se il filmato è un'immagine di contorno potrebbe pure andare, ma se appena ci metti un menù questo metodo comincia a starmi stretto anche perchè io navigo con mozilla e il fatto di non vedere completamente il mio stesso sito mi starebbe sulle balle. SCARTATO!

    2) Definire un DTD alternativo, sulle basi di quello del w3c ed aggiungerci il tag embed.
    Pare fuzioni (leggete qui), però l'autore stesso di questa pensata (non semplice da realizzarsi) dice di non sapere se la cosa va su tutti i sistemi/browser e comunque il validatore del w3c non accetta DTD definiti dall'utente e continuerebbe a darvi l'errore. SCARTATO!

    3) Sniffare il browser con js e andare a scrivere il tag <embed> solo se il visitatore entra con qualcosa che non sia IE.
    Seguite sempre il link del metodo 2 per un esempio oppure qui ne trovate uno più complesso. Funziona, però l'autore ci racconta che ci sono problemi se uno non ha il plug-in installato, problemi che per altro non sono riuscito a ricreare e poi giustamente dice: "pages may validate, but it feels as though it goes against the spirit of validation...", effettivamente ha ragione, validare una pagina non vuol dire nascondere in commenti le parti che non verrebbero accettate... SCARTATO!

    4) Usare il cosiddetto "metodo Satay ".
    Non tutti sanno che anche ns/moz supportano il tag object, quello che non supportano nella sintassi tradizionale sono il classid="" e il codebase="" stile controllo activeX, questo:

    <object type="application/x-shockwave-flash" data="movie.swf" width="400" height="300">
    <param name="movie" value="movie.swf" />
    </object>

    verrebbe letto da mozilla e soci e anche da ie, solo che sfortunatamente ie ha un baco e in questo modo non esegue lo streming del filmato, il metodo Satay risolve (con un trucco non esaltante) anche questo baco, però in determinate situazioni difficilmente riproducibili sui sistemi win+ie non funziona proprio e se uno non ha il plugin di flash 6 sono casini. Io questo l'ho provato, funziona anche bene (a me) è facile da implementare, è una soluzione plausibile, ma lontana forse da quella soluzione definitiva di cui parlavamo. PARZIALMENTE SCARTATO!

    5) Mettere nella pagina 2 tag object uno dentro l'altro, uno è il solito per IE e l'altro è quello del metodo Satay per mozilla

    Mozilla e soci se ne sbattono dell'object per IE e leggono il loro, però sfortunatamente quel testone di ie li legge entrambi. Allora bisogna trovare il modo di nascondere a IE il secondo object. il che ci porta ai punti successivi.

    5.1) Integriamo il punto 5 con il punto 3, ovvero sniffiamo il browser e scriviamo i 2 object nel modo che ci interssa a noi.

    Purtroppo non ho trovato esempi funzionati di questa cosa in rete però così a occhio potrebbe funzionare (DA PROVARE).

    5.2) Usiamo dei tag condizionali "strani" che vengono letti solo da ie

    codice:
    <!--[if gte IE 5]>
    	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
     width="400" height="100">
    		<param name="movie" value="ie5win.swf" />
    		<param name="loop" value="false" />
    		<param name="quality" value="high" />
    		<param name="bgcolor" value="#cccccc" />
    	</object><div style="display:none">
    <![endif]-->
    	<object type="application/x-shockwave-flash" data="everyoneelse.swf" width="400" height="100">
    
    		<param name="movie" value="everyoneelse.swf" />
    		<param name="loop" value="false" />
    		<param name="quality" value="high" />
    		<param name="bgcolor" value="#cccccc" />
    	</object>
    Non conoscevo questa sintassi, ma pare ad una prima analisi che risolvano il problema, andrebbero testati su tutti i browser però e qui decisamente mi serve aiuto perchè io l'ho provato su IE 5.0 e mozilla 1.1 su win2000 e va... e sugli altri? E se uno non ha il plugin installato? (versione funzionante direttamente dal sito su cui ho scoperto questa possibilità)


    ------------------------------

    Ok, ho fatto il post più lungo della mia vita su questo forum, adesso se volete farmi contento deve saltar fuori uno con la soluzione in tasca già pronta, altrimenti si potrebbe provare a percorrere insieme le piste 5.1 e 5.2, altrimenti ancora mi toccherà tenermi le mie pagine xhtml che sono corrette, ma che non passano il maledetto test

    Imparo! Imparo! Imparo!

  2. #2
    Ciao, interessante questa cosa....
    e se sniffassimo il browser lato-server e scrivessimo il tag object a seconda del risultato?
    per favore NIENTE PVT TECNICI da sconosciuti

  3. #3
    in effetti come dice fabio se puoi usare un linguaggio lato server il problema lo risolvi facilmente, perchè non hai neanche bisogno di usare javascript.. altrimenti non so che dirti, a parte il fatto che dovrebbero decidersi un pò tutti a seguire gli standard del w3

    buona lotta
    ¥¨²ºº³ ¨¥ ·´¯`·._.-» ®Ëh|ßÊ «-._.·´¯`· ¥¨¨¥

    Mouse not found. Click mouse button to continue.

  4. #4
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188
    Si effettivamente si potrebbe fare lato server, certo non è il massimo della comodità soprattutto se la pagina avrebbe dovuto essere statica... mi toccherebbe fare per forza tutte le pagine o in php o in shtml, però è una soluzione ragionavole se fallissero le altre opzioni.

    Sarebbe interessante se chi leggesse qui dicesse se è riuscito a visualizzare correttamente i vari esempi, soprattutto quello al punto 5.2 se funzionasse sarebbe preferibile a qualsiasi altra opzione a mio avviso

    intanto provo a farlo anche lato server per vedere che ne ricavo

    quindi le opzioni che abbiamo sono:

    5.1 sniffare e scrivere con js
    5.2 codice condizionale non sperimentato
    5.3 scriviamo l'object con perl+ssi
    5.4 scriviamo l'object con php

    (ho egoisticamente escluso a priori asp e altre tecnologie perchè ho solo perl e php sul sito :tongue: )
    Imparo! Imparo! Imparo!

  5. #5
    il sistema funziona perfettamente su Mozilla 1.2a su Win2000, mentre su IE 5.5 (su Win2000) non funziona. se aggiungo - type="application/x-shockwave-flash" - all'object riferito a IE funziona, ma mi appre un avviso di protezione ActiveX...

    sostituendo il classid che hai postato con:

    classid="clsid: D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,4,2"

    funziona tutto (senza mettere il type nella condizione di IE)
    Potere e Potenza

  6. #6
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188
    5,0,4,2 si e 5,0,0,0 no?
    strano davvero
    anche perchè quello è il classid che viene generato di default da flash 5 quando esporta il filmato... boh...

    ho fatto un mini perl da tre istruzioni che può essere richiamato tramite ssi in pagine .shtml e con js in qualsiasi altra pagina... a me funziona, il w3c valida ed è facilissimo da implementare, resta da vedere se funziona sempre su tutti i sistemi/browser

    più tardi se ho tempo metto online un esempio e vediamo se lo vedete tutti.. bye
    Imparo! Imparo! Imparo!

  7. #7
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188
    TEST DI PROVA

    chiunque legga sarebbe così gentile da dirmi se cliccando su questo link vede entrambi i filmati, solo uno o nessuno?

    grazie :bubu:
    Imparo! Imparo! Imparo!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Browser IE6.02
    Senza caricare "file tipo activeX o sim" non si vede niente.

    Lasciando eseguire "file tipo activeX o sim", il primo (SSI) si vede subito, mentre il secondo (JS) impiega moltissimo a caricarsi.


    Browser NN4.7
    La formattazione e` diversa (e senza colori di sfondo), ma si vedono subito tutti e due (ma forse era nella cache del proxy)

    Mozilla 1.1
    Nessuno dei due

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188
    mi sto scoraggiando...

    la cosa comica è che a me i 6 o 7 metodi che ho provato funzionano tutti alla perfezione :master:

    mozilla 1.1 -> il plug in di flash è installato?
    Imparo! Imparo! Imparo!

  10. #10
    Utente di HTML.it L'avatar di Kintaro
    Registrato dal
    Dec 2000
    Messaggi
    188
    http://www.chriscassell.net/projects...w_resizer.html

    altro metodo in questa pagina... a me funziona pure questo
    Imparo! Imparo! Imparo!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.