web-dev-qa-db-fra.com

SCRIPT5007: Impossible d'obtenir la valeur de la propriété 'SetReturnValue': l'objet est null ou non défini

J'ai une page qui fonctionne parfaitement dans tous les autres navigateurs, mais les sauts dans IE. L'erreur du débogueur est:

SCRIPT5007: Impossible d'obtenir la valeur de la propriété 'SetReturnValue': l'objet est null ou non défini 

Cela se produit lorsque je clique sur un bouton d'un objet flash pour appeler une fonction. Aucun des boutons du fichier flash ne fonctionne dans IE, mais tous fonctionnent parfaitement dans les autres navigateurs. Quelqu'un a des idées? J'ai googlé et je ne pouvais vraiment pas comprendre les réponses.

L'adresse Web est http://capitolomaha.com/reservations/

Toute aide est très appréciée, cela m’embrouille tellement. 

20
Josh

Voir http://msdn.Microsoft.com/en-us/library/gg622942%28v=VS.85%29.aspx

Fondamentalement, IE9 interrompt les appels Flash ExternalInterface si votre composant Flash est incorporé avec une balise d'objet avec un repli de balise incorporée et que l'identifiant et le nom d'intégration de l'objet sont identiques.

La solution la plus simple consiste à indiquer à ie9 de rendre votre page en mode Normes IE8 ..__ Pour ce faire, insérez-le dans l'élément:

<!-- Enable IE8 Standards mode -->
<meta http-equiv="X-UA-Compatible" content="IE=8" >

Sinon, vous souhaiterez peut-être uniquement utiliser la balise d'objet ou la balise incorporée uniquement.

6
whoisbenli

Cela est généralement dû à un lecteur vidéo swf à objet incorporé (par exemple: JW Player, etc.).

Internet Explorer semble nécessiter deux attributs pour la balise OBJECT, à savoir classid AND id

Pour un lecteur SWF, utilisez:

classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

id="dummy"

NB - en principe, id peut être n'importe quelle chaîne factice (non prise)

Autres bonnes sources sur la façon d'intégrer la vidéo:

http://www.w3schools.com/html/html_object.asp

http://www.2webvideo.com/blog/embed-swf-flv-mp4-videos-in-webpage

4
Pedro Carvalho

Assurez-vous de spécifier la balise id (elle doit avoir la même valeur que la balise name) . Bien que Adobe écrit que id soit une balise facultative, Internet Explorer a besoin de l'ID pour adresser l'objet swf avec le javascript -interface flash.

1
Arthur Clemens

Essayez de vérifier si l'élément est nul comme ci-dessous:

if(element == null)return false
1
orafaelreis

J'ai eu le même problème, je l'ai résolu en changeant la façon dont j'ai inclus le flash . Fristly j'avais

<object>
<embed></embed></object>
</object>

Alors j'ai déménagé à:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
        <param name="movie" value="myContent.swf" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
        <!--<![endif]-->
          <p>Alternative content</p>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
      </object>

et avec le dernier cela fonctionne.

1
Andrei Baidoc

C'est une erreur JavaScript lorsque vous cliquez sur un bouton en flash. Le bouton appelle une fonction javascript pour révéler une source de réservation et effectuer une réservation pour cette table particulière. C'est frustrant moi grand temps. 

Le problème ne se produit que dans IE, rien d’autre, mais lorsque je débogue, c’est une erreur javascript autant que je sache.

0
Josh