Domanda

Ho un oggetto QuickTime incorporato nascosto sulla mia pagina che sto cercando di controllare tramite JavaScript, ma non funziona. L'oggetto è simile al seguente:

<object id="myPlayer" data="" type="audio/mpeg" pluginspage="http://www.apple.com/quicktime/download" width="0" height="0">
    <param name="autoPlay" value="false" />
    <param name="controller" value="false" />
    <param name="enablejavascript" value="true" />
</object>

Non c'è nulla nel parametro data perché al momento del rendering non conosco l'URL che verrà caricato. L'ho impostato in questo modo:

var player = document.getElementById("myPlayer");
player.SetURL(url);

L'audio verrà successivamente riprodotto con:

player.Play();

Firefox 3.0.3 non produce errori nella console JavaScript, ma non si verifica alcuna riproduzione quando viene chiamato Play () . Safari 3.0.4 produce il seguente errore nella console:

"Value undefined (result of expression player.SetURL) is not object."

Internet Explorer 7.0.5730.11 fornisce il seguente messaggio di errore estremamente utile:

"Unspecified error."

Ho QuickTime versione 7.4 installato sul mio computer. Documentazione di Apple dice che è corretto, quindi perché non funziona?

È stato utile?

Soluzione

Prova a dare all'elemento oggetto larghezza e altezza (1px per 1px) e rendilo visibile all'interno della finestra quando tenti di comunicare con il plugin tramite JavaScript.

Ho notato che se l'area del plugin non è visibile sullo schermo non risponde ai comandi JS.

Questo potrebbe spiegare perché questo non funziona per te in IE.

Safari e Opera dovrebbero funzionare, ma FireFox richiederà sicuramente l'elemento di incorporamento in stile Netscape e in realtà dovresti fornire entrambi. Inoltre, una volta che hai entrambi, devi accertarti quale elemento (l'oggetto rispetto all'incorporamento) deve essere indirizzato in quale browser.

Altri suggerimenti

Non conosco l'API QuickTime, ma potrebbe valere la pena di provarci:

player.attributes.getNamedItem('data').value = 'http://yoururlhere';

La pagina a cui ti sei collegato non menziona un attributo "data". Hanno un EMBED e un PARAM all'interno di un OGGETTO, con l'attributo 'src' dell'EMBED con l'URL, ma non vedo un EMBED in quello che hai pubblicato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top