2008-10-02 5 views
0

J'ai un objet QuickTime caché caché sur ma page que j'essaie de contrôler via JavaScript, mais cela ne fonctionne pas. L'objet ressemble à ceci:La méthode SetURL de l'objet QuickTime est-elle indéfinie?

<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> 

Il n'y a rien dans le paramètre de données, car au moment du rendu, je ne sais pas l'URL qui va être chargé. Je l'ai mis comme ceci:

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

L'audio sera ensuite être lus avec:

player.Play(); 

Firefox 3.0.3 produit aucune erreur dans la console JavaScript, mais pas de lecture se produit lorsque Play() est appelé. Safari 3.0.4 produit l'erreur suivante dans la console:

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

Internet Explorer 7.0.5730.11 donne le message d'erreur extrêmement utile suivante:

"Unspecified error." 

Je QuickTime version 7.4 installé sur ma machine. Apple's documentation dit que SetURL() est correct, alors pourquoi cela ne fonctionne-t-il pas?

Répondre

1

Essayez de donner de la largeur et de la hauteur à l'élément objet (1px par 1px) et de le rendre visible dans la fenêtre lorsque vous tentez de communiquer avec le plugin via JavaScript.

J'ai remarqué que si la zone du plugin n'est pas visible à l'écran, elle ne répond pas aux commandes JS.

Cela peut expliquer pourquoi cela ne fonctionne pas pour vous dans IE.

Safari et Opera devraient fonctionner, mais FireFox exigera certainement l'élément d'intégration de style Netscape, et vous devriez vraiment fournir les deux. De plus, une fois que vous avez les deux, vous devez déterminer quel élément (l'objet par rapport à l'intégration) à adresser dans quel navigateur.

0

Je ne sais pas l'API QuickTime, mais cela pourrait être vaut le coup:

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

La page ne mentionne lié à pas un attribut « données ». Ils ont un EMBED et un PARAM dans un OBJECT, avec l'attribut 'src' d'EMBED ayant l'url, mais je ne vois pas d'EMBED dans ce que vous avez posté.

Questions connexes