2011-09-23 24 views
20

Tengo una página que funciona perfectamente en todos los demás navegadores pero se rompe en IE. El error del depurador es:SCRIPT5007: no se puede obtener el valor de la propiedad 'SetReturnValue': el objeto es nulo o indefinido

SCRIPT5007: No se puede obtener el valor de la propiedad 'SetReturnValue': objeto es nulo o no definido

Esto ocurre cuando hago clic en un botón en un objeto flash para llamar a una función. Ninguno de los botones en el archivo flash funciona en IE, pero todos funcionan perfectamente en los otros navegadores. ¿Alguien tiene alguna idea? Busqué en Google y realmente no pude entenderlo por las respuestas que hay.

La dirección web es http://capitolomaha.com/reservations/

Cualquier ayuda es muy apreciada, esto es confuso yo tan malo.

+0

¿De dónde proviene el error? JavaScript, Flash, IE, Wordpress? Por favor sé más específico. ¿Has creado el archivo Flash tú mismo? –

+15

"Tengo una página que funciona perfectamente en todos los demás navegadores pero se rompe en IE": cuántas veces he dicho esa frase ... –

+1

¿Está utilizando FusionCharts o alguna biblioteca de similar de terceros? Tuve el mismo problema con FusionCharts. –

Respuesta

0

Es un error de JavaScript cuando hace clic en un botón en flash. El botón llama a una función de JavaScript para revelar un origen de reserva para hacer una reserva para esa tabla en particular. Me está frustrando a lo grande.

El problema solo ocurre en IE, nada más, pero cuando depuro es un error de javascript por lo que yo sé.

1

Asegúrese de especificar la etiqueta de identificación (debe tener el mismo valor que la etiqueta de nombre). Aunque Adobe writes que id es una etiqueta opcional, Internet Explorer necesita la identificación para direccionar el objeto swf con la interfaz javascript-flash.

1

Tuve el mismo problema, lo resolví cambiando la forma en que incluí el flash. fristly tuve

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

de lo que se trasladó a:

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

y con el último funciona.

6

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

Básicamente, IE9 rompe ExternalInterface flash de llamadas si el componente flash está integrado con una etiqueta de objeto con un repliegue etiqueta embed, y el ID de objeto y el nombre incrustar es el mismo.

La solución más fácil es decirle a ie9 que muestre su página en el modo Estándares IE8. Para ello, inserte esto en el elemento:

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

De lo contrario, es posible que quieran utilizar la etiqueta objeto sólo o únicamente etiqueta embed.

+15

Sé que esto es un poco viejo, pero voto negativo automático para recomendar diciéndole a IE9 que lo renderice como IE8. Arregle el código del objeto en su lugar – LocalPCGuy

4

La mayoría de las veces, esto puede deberse a un reproductor de video swf de objetos incrustado (por ejemplo: JW Player, etc.)

Internet Explorer parece requerir dos atributos para el etiqueta OBJETO, a saber CLASSID Y Identificación

Para un uso reproductor SWF:

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

id="dummy" 

NB - en principio, ID puede ser cualquier cadena ficticia (no tomada)

Otras buenas fuentes sobre cómo incrustar video:

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

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

+0

Es quizás años tarde, pero la encarnación actual de JWPlayer no tiene una etiqueta de inserción, y tiene un classID y un valor de ID en la etiqueta del objeto. aún, en IE9, JWPlayer6.11 todavía arroja este error en algún momento durante (parece) la rutina "remove()". No sé si culpar a IE o JWPlayer, pero necesito poder culpar a alguien. (-; – hairbo

1

intenta comprobar si el elemento es nulo, como a continuación:

if(element == null)return false 
Cuestiones relacionadas