2012-08-26 31 views
6

Tengo una página HTML, que en importo archivos js como sigueimportar un archivo JavaScript en un archivo html dentro del bloque intento de captura

<script src="file.js" type="text/javascript" charset="utf-8"></script> 

pero en caso de que el archivo no se puede ejecutar sus guiones, toda la página se pone obviamente atascado

¿Puedo importar ese archivo en un bloque try catch?

Gracias

+0

Mostrar su código. – darma

+0

Se corrigió el formateo; es posible que desee comprobar que lo que lo solucioné es lo que realmente está haciendo. – Eric

+0

¿Dónde se importa? ¿En la cabeza? Intente moverlo en frente de la etiqueta de cierre del cuerpo. – DanMan

Respuesta

-1

Puede utilizar AJAX. Esto supone que tiene jQuery, pero puede evitar usarlo fácilmente (here puede encontrar uno de muchos tutoriales). Aquí hay un ejemplo:

$.get("http://yoursite.com/file.js", function(data) { 
    try { 
     eval(data); //Run the JavaScript, which is equivalent to adding it 
    } 
    catch (err) { 
     //handle errors 
    } 
}); 

Espero que haya ayudado de alguna manera!

+0

hey Gracias por su ayuda ... pero ¿y el juego de caracteres utf8? ¿Cómo configuro la llamada get para usarla? –

+0

y lo intenté, pero obtuve "XMLHttpRequest no puede cargar http:" myfile ".js. Origin no permite el origen http://192.168.1.224 por Access-Control-Allow-Origin." –

+0

@ user1432779 Esto se debe a que no puede hacer la comunicación AJAX con otro servidor. – Chris

4

Se puede escuchar a un error (ver this)

// make a script 
var s = document.createElement('script'); 
// set it up 
s.setAttribute('src',"file.js"); 
s.setAttribute('type',"text/javascript"); 
s.setAttribute('charset',"utf-8"); 
s.addEventListener('error', errorfunction, false); 
// add to DOM 
document.head.appendChild(s); 

después en errorfunction, averiguar qué ha ocurrido & tratar de arreglar como lo haría en un catch

+0

Gracias ... pero la cuestión es que la página html primero importa el archivo anterior, y luego ejecuta scripts en el html independientemente. Ahora, algunas veces la página se ejecuta sin conexión a Internet fuera de la red local, y el archivo que intento llamar está en un servidor remoto, y aparece un error que impide que se ejecuten las otras secuencias de comandos en la página .... –

+0

Si está esperando no tener acceso a archivos, almacenarlos en caché o guardarlos localmente –

+0

lo intenté ... guardé el archivo localmente ... pero es un problema bc dentro de él, usa llamadas para otros archivos que tienen rutas relativas en su Servidor ... descargarlos a todos puede ser un juego largo ... –

Cuestiones relacionadas