2012-01-09 11 views
18

Tengo un JsFiddle here, y agregué Microsoft AJAX para cargarlo a través de la sección de JS/recursos externos. ¿Cómo puedo saber si mi código JS se ejecuta después de que el archivo AJAX haya terminado de cargarse?¿Cómo cargo un archivo externo y me aseguro de que se ejecute primero en JSFiddle?

Parece que el AJAX tampoco se carga. :(

Aquí es el código de la jsFiddle:

Type.registerNamespace("Tutorial.Chapter1"); 
Tutorial.Chapter1.Person = function(firstName, lastName) { 
    this._firstName = firstName; 
    this._lastName = lastName; 
}; 
Tutorial.Chapter1.Person.prototype = { 
     set_firstName: function(value) { 
      this._firstName = value; 
     }, 
     get_firstName: function() { 
      return this._firstName; 
     }, 
     set_lastName: function(value) { 
      this._lastName = value; 
     }, 
     get_lastName: function() { 
      return this._lastName; 
     }, 
     _firstName: "", 
     _lastName: "", 
     displayName: function() { 
      alert("Hi! " + this._firstName + " " + this._lastName); 
     } 
    }; 
Tutorial.Chapter1.Person.registerClass("Tutorial.Chapter1.Person", null); 
+0

¿No podría simplemente pegar el código MS después del suyo en lugar de usar la opción Agregar recursos? – j08691

+0

¿Por qué necesita hacer esto de todos modos? – j08691

Respuesta

16

abierto "Añadir recursos" sección y añadir la URL de su script externo ...

+0

también para enlaces css externos – dsdsdsdsd

20

La ficha Recursos externos de jsFiddle es actualmente algo complicado e inestable de usar. Los recursos definidos aquí a menudo no están incluidos correctamente en el código. Parece que hay un problema con el reconocimiento automático de los recursos JS y CSS. Si esto sucede, el recurso externo simplemente no se agrega al código. sección principal del código resultante. Puede verificarlo revisando el código fuente del resultado fr ame de su jsFiddle. Descubrirá que su recurso MS AJAX simplemente NO se menciona en el código HTML resultante.

El reconocimiento correcto de hecho puede ser forzado mediante la adición de un valor ficticio a la URL del recurso como este (ver ->jsFiddle docs para obtener más información):

...&dummy=.js 

Aquí es un ejemplo que muestra cómo agregar el exterior Google Maps API de recursos a un jsFiddle (importa el parámetro ficticio al final!):

https://maps.googleapis.com/maps/api/js?sensor=false&dummy=.js 

Desafortunadamente esto no va a funcionar para usted como la URL MS AJAX fallará cuando los parámetros adicionales son anexado.

Una solución (y en la actualidad la forma más segura para cargar los recursos externos) es evitar la ficha recursos externos por completo y cargar el código externo de forma manual en la primera línea (s) de la ventana HTML de jsFiddle así:

<script type='text/javascript' src="http://ajax.aspnetcdn.com/ajax/3.5/MicrosoftAjax.js"></script> 

Aquí está su jsFiddle modificado para usar ese método: http://jsfiddle.net/rEzW5/12/

En realidad no hace mucho (no revisé lo que está mal con el resto de su código), pero al menos ya no arroja errores de JavaScript.

+1

Creo que es suficiente hacer '# .js' al final de la url también, al menos en la versión actual de JSFiddle. Quizás los activos a los que no les gusten los parámetros de consulta adicionales jugarían mejor con eso. – diurnalist

+0

Desafortunadamente, hoy en día este enfoque ya no parece funcionar. Si intenta cargar código JavaScript manualmente, no funcionará, sino que muestra el mensaje "Para JavaScript, use el panel a continuación o el panel de Recursos para archivos externos". – clayRay

1

El enfoque de @Jpsy ya no parece funcionar (ver mi comentario en su respuesta).

Para mí, agregar el recurso en Recursos externos tampoco funcionó. (Según el Depurador de Firefox, no pudo encontrar el recurso).

La única forma en que pude obtener un código externo de JavaScript (en mi caso jquery.backstretch.js) para trabajar, era usar Google para encontrar un Fiddle que usara este recurso (y funcionara), luego Fork este violín y copiar/pegar todo mi código en los paneles HTML, CSS y JavaScript. ¡Uf!

0

@clayRay, pasaste por una cirugía de código. Sólo resuelto que al mencionar la fuente externa en HTML plano que en mi caso es

<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 

Usando ficha Recursos externos no ayudó un poco ...

Cuestiones relacionadas