Hola,
mi problema reside en que necesito cargar una imagen y una película flash pero sólo si existe el archivo.
En principio lo tenía hecho desde java, pero el entorno de negocio no permite que los servidores web, donde se sitúan todas las imagenes y ficheros estáticos, se comuniquen con los servidores de negocio.
Luego barajé la posibilidad de utilizar ajax pero quien pone los servidores tampoco está preparado para funcionar correctamente con esta opción.
PHP tampoco lo puedo utilizar, por lo que me queda intentarlo a través de javascript.
Lo que tengo hecho hasta el momento es una función para cargar la imagen, en la que básicamente creo un objeto new image y le asigno la url completa del fichero que debería cargar con el atributo src. Esto lo hago con la esperanza de poder utilizar alguna propiedad que me permita comprobar si esta imagen existe o no. Lo más aproximado que he conseguido es a través la propiedad width, que al no cargarse me devuelve un valor muy pequeño, correspondiente al recuadro de la típica X que indica error en la carga. Si no tengo otra alternativa, podría llegarme a valer pero lo que busco es algo que, en caso de error, me devuelva un null o bien un valor false o 0, para que el if que tengo a continuación tenga un criterio fijo de comparación. En caso de que la imagen sea encontrada, lo que hago es generar yo el código necesario para que se cargue la imagen en un div.
Para la carga de la película Flash quiero hacer algo parecido. En principio he visto un js que permite cargar películas de manera sencilla, que es SWFObject.js y se utiliza de forma parecida al new Image(), lo que pasa es que en este caso no se qué propiedad o atributo utilizar para ver si existe o no. A lo mejor se podría hacer también con algo más genérico como un new Object o algo así.
En cualquier caso, agredecería mucho si alguien me puede dar una idea de como hacerlo para que el código sea más seguro. A lo mejor cargando en una celda oculta los objetos y una vez cargados ver si ha habido error o no. Esto último me gusta menos porque creo que ralentizaría la carga de la página.
Saludos.