2010-04-07 13 views
1

ce code dans mon plugin utilisé pour fonctionner parfaitement:accès objet embarqué avec jquery ne fonctionne pas dans Firefox 3.6


jQuery('#embedded_obj', context).get(0).getVersion(); 

et le code html ...


<object id="embedded_obj" type="application/x-versionchecker-1.0.0.1"></object> 

Fondamentalement essayer d'obtenir les propriétés à partir d'un objet incorporé. Mais il semble que get (0) renvoie un objet html au lieu de l'objet incorporé réel.

Par exemple, si je fais:


var launcher = jQuery('#embedded_obj', context).get(0); 

for(prop in launcher){ 
    alert(prop + ': ' + launcher[prop]); 
} 

... il alerte des choses comme "getElementByNode", "scrollWidth", "clientLeft", "clientTop", etc.

Encore une fois cela a fonctionné avant Firefox 3.6. Est-ce que quelqu'un d'autre a vu cela ou a des idées/suggestions?

Merci!

+0

Quelle version de jQuery utilisez-vous? L'avez-vous récemment mis à jour? – Metropolis

Répondre

1

êtes-vous sûr que cela a fonctionné avant? jQuery (..). get (..) retourne toujours un objet DOM (dans ce cas, l'élément <object>), donc vous êtes sûr que vous n'avez pas utilisé une syntaxe comme

var launcher = new VersionChecker(jQuery("#embedded_obj").get(0)); 
alert(launcher.getVersion()); 

Donc, avec un constructeur qui prend soin du lien entre l'élément DOM HTML et l'objet incorporé réel?

Si oui, l'avez-vous vérifié avec un petit fichier test.html et ouvrez-le avec les deux navigateurs pour vérifier la différence de comportement?

Edit: Nevermind, il y a vraiment quelque chose d'étrange en effet avec la balise d'objet après avoir googlé à ce sujet et sommes tombés sur http://forum.jquery.com/topic/jquery-object-get-0-is-not-a-dom-element-in-ff-but-is-in-safari-is-this-a-bug

+0

Salut, merci pour l'idée - J'ai essayé avec un test.html en utilisant document.getElementById (...) au lieu de jQuery, et j'ai toujours eu un problème, donc je suis sûr que c'est quelque chose avec le plug-in personnalisé doit changer. (Je suppose que FF a changé quelque chose avec la façon dont les plug-ins fonctionnent en 3.6.) Quoi qu'il en soit, merci! – taber