2009-09-24 4 views
7

Sto usando il seguente codice per visualizzare un video di YouTube.Perché il mio video YouTube incorporato funziona con Firefox, ma non con Internet Explorer?

<object width="425" height="344"> 
    <param name="movie" 
      value="**URL**"> 
    </param> 
    <param name="allowFullScreen" 
      value="true"> 
    </param> 
    <embed src="**URL**" 
      type="application/xshockwave-flash" 
      allowfullscreen="true" 
      width="425" 
      height="344"> 
    </embed> 
</object> 

Funziona in Firefox, ma perché non in Internet Explorer?

Sono un totalmente nuovo per lo sviluppo web, quindi sono in esecuzione in tutte queste meravigliose incongruenze che i veterani sono usate per;)

risposta

7

Prova questa:

<object type="application/x-shockwave-flash" data="VID_URL" width="425" height="344"> 
    <param name="movie" value="VID_URL" /> 
</object> 
+0

che l'ha fatto, grazie mille! – BeachRunnerFred

+0

Grazie mille. Stavo cercando davvero difficile trovare una soluzione per questo ed eccolo. – Blerta

+2

Ancora non ha funzionato per me ... – esp

8

Per chiarire, è non funziona perché il tag object è incompleto. Firefox abbandona l'elemento object e utilizza invece l'elemento di fallback old school embed. IE non supporta embed in modo da non ottenere nulla.

Un elemento object deve avere almeno un attributo che indica quale plug-in utilizzare e un attributo data che indica cosa inviare il plug-in. In IE è inoltre necessario specchiare l'attributo data in un valore <param name="movie"> all'interno dell'oggetto perché esegue i plug-in in modo diverso.

IE non esegue lo "streaming" di file Flash parzialmente caricati in questo modo. Per ottenere ciò, è necessario utilizzare un ActiveX classid anziché lo type per indicare quale plug-in utilizzare. Se ti importa di questo (e potresti non farlo: per piccoli file, stub loader e file che sono inutili fino al completamento, non fa alcuna differenza) allora devi iniziare a servire combinazioni di oggetti nidificati o incorporamenti, che quickly becomes confusing.

1

In precedenza ho sprecato poche ore lavorando sullo stesso problema. Diverse cause però ...

Per IE9, gli incorporamenti di YouTube (almeno iframe) non funzionavano perché in precedenza avevo aggiunto Tracking Protection a IE per gli ad server di Google. In questo caso, ho dovuto disabilitare la protezione di tracciamento (Sicurezza> Protezione monitoraggio) o fare clic sul pulsante immediatamente a destra della barra degli indirizzi ("Alcuni contenuti sono filtrati su questo sito") che avvisa gli utenti finali di contenuti filtrati.