2012-01-09 10 views
18

Ho un JsFiddle here e aggiunto Microsoft AJAX da caricare tramite la sezione JS/risorsa esterna. Come posso sapere se il mio codice JS viene eseguito o meno dopo il caricamento del file AJAX?Come caricare un file esterno e assicurarmi che venga eseguito per primo in JSFiddle?

Sembra che anche AJAX non carichi. :(

Ecco il codice che 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

Non potresti semplicemente incollare il codice MS dopo il tuo invece di usare l'opzione Aggiungi risorse? – j08691

+0

Perché hai bisogno di farlo comunque? – j08691

risposta

16

Open "Aggiungi Risorse" sezione e aggiungere l'URL del tuo script esterno ...

+0

anche per i link css esterni – dsdsdsdsd

20

La scheda Risorse esterne di jsFiddle è attualmente un po 'complicato e instabile da usare Le risorse definite qui spesso non sono incluse correttamente nel codice Sembra esserci un problema con il riconoscimento automatico delle risorse JS e CSS, se ciò accade, la risorsa esterna non viene semplicemente aggiunta al sezione principale del codice risultante. Puoi verificarlo esaminando il codice sorgente del risultato fr ame del tuo jsFiddle. Scoprirai che la tua risorsa MS AJAX non è semplicemente menzionata nel codice HTML risultante.

la correttezza riconoscimento può effettivamente essere costretto con l'aggiunta di un valore fittizio all'URL della risorsa come questo (vedi ->jsFiddle docs per maggiori informazioni):

...&dummy=.js 

Ecco un esempio che mostra come aggiungere il esterna API di Google Maps di risorse a un jsFiddle (mente il manichino parametro alla fine!):

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

Purtroppo questo non funziona per voi come l'URL MS AJAX fallirà quando i parametri aggiuntivi sono allegata.

Una soluzione (e attualmente il modo più sicuro per caricare risorse esterne) è quello di evitare la scheda Risorse Esterne del tutto e caricare manualmente codice esterno nella prima riga (s) della finestra HTML di jsFiddle come questo:

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

Ecco il tuo jsFiddle modificato per usare quel metodo: http://jsfiddle.net/rEzW5/12/

In realtà non fa molto (non ho controllato cosa c'è di sbagliato nel resto del codice), ma almeno non getta più errori JavaScript.

+1

Credo sia sufficiente fare '# .js' alla fine dell'URL, almeno nella versione corrente di JSFiddle. Forse gli asset a cui non piacciono i parametri di query aggiuntivi potrebbero funzionare meglio. – diurnalist

+0

Sfortunatamente al giorno d'oggi questo approccio sembra non funzionare più. Se provi manualmente a caricare il codice JavaScript, non funzionerà, ma visualizzerà il messaggio "Per JavaScript usa il pannello sottostante o il pannello Risorse per i file esterni". – clayRay

1

@ L'approccio di Jpsy non sembra più funzionare (vedere il mio commento sotto la sua risposta).

Per me, l'aggiunta della risorsa in Risorse esterne non ha funzionato. (Secondo Firefox Debugger, non è stato possibile trovare la risorsa).

L'unico modo in cui ero in grado di ottenere un bit esterno del codice JavaScript (nel mio caso jquery.backstretch.js) per funzionare, era utilizzare Google per trovare un Fiddle che utilizzava questa risorsa (e funzionava), quindi Fork questo Fiddle e copia/incolla tutto il mio codice nei pannelli HTML, CSS e JavaScript. Ugh!

0

@ clayRay, sei assolutamente andato attraverso un intervento chirurgico di codice. Basta deliberato che menzionando fonte esterna in html pianura che nel mio caso è

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

Utilizzando scheda Risorse esterne non ha aiutato un po '...