2012-01-09 10 views
18

Mam JsFiddle here i dodano Microsoft AJAX do załadowania przez zewnętrzną sekcję JS/zasobów. Jak mogę sprawdzić, czy mój kod JS jest uruchamiany po załadowaniu pliku AJAX?Jak załadować plik zewnętrzny i upewnić się, że jest on uruchamiany jako pierwszy w JSFiddle?

Wygląda na to, że AJAX się nie wczytuje. :(

Oto kod w 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

Nie można po prostu wkleić kodu MS po twoim, zamiast używać opcji Dodaj zasoby? – j08691

+0

Dlaczego mimo to trzeba to robić? – j08691

Odpowiedz

16

Open „Dodaj zasoby” punkt i dodać adres URL skryptu zewnętrznego ...

+0

również dla zewnętrznych odnośników css – dsdsdsdsd

20

Zakładka Zasoby zewnętrzne z jsFiddle jest obecnie nieco trudny i niestabilny w użyciu Zasoby tutaj zdefiniowane często nie są poprawnie zawarte w kodzie. Wydaje się, że występuje problem z automatycznym rozpoznawaniem zasobów JS i CSS. Jeśli tak się stanie, zasoby zewnętrzne nie są po prostu dodawane do nagłówek wynikowego kodu. Możesz to sprawdzić, przeglądając kod źródłowy wyniku fr ame twojego jsFiddle. Przekonasz się, że twój zasób MS AJAX po prostu NIE jest wspomniany w wynikowym kodzie HTML.

Prawidłowe rozpoznanie rzeczywistości może być zmuszony przez dodanie wartości atrapę do URL zasobu wygląda tak (patrz ->jsFiddle docs więcej informacji):

...&dummy=.js 

Oto przykład, który pokazuje, jak dodać zewnętrzny Google Maps API zasobów do jsFiddle (przeszkadza atrapę parametr w The samego końca!):

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

Niestety to nie będzie pracować dla Ciebie jako URL MS AJAX nie powiedzie się, gdy są dodatkowe parametry dołączone.

Rozwiązanie (a obecnie najbezpieczniejszym sposobem ładowania zasobów zewnętrznych) jest uniknięcie kartę Zasoby zewnętrzne całkowicie i załadować zewnętrznego kodu ręcznie w pierwszej linii (ów) okna HTML jsFiddle jest tak:

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

Oto Twój jsFiddle zmodyfikowany do użycia tej metody: http://jsfiddle.net/rEzW5/12/

W rzeczywistości niewiele robi (nie sprawdziłem, co jest nie tak z resztą kodu), ale przynajmniej nie powoduje już błędów JavaScript.

+1

Uważam, że wystarczy zrobić '# .js' również na końcu adresu URL, przynajmniej w obecnej wersji JSFiddle. Być może zasoby, które nie lubią dodatkowych parametrów zapytań, będą ładniejsze. – diurnalist

+0

Niestety obecnie takie podejście już nie działa. Jeśli ręcznie spróbujesz załadować kod JavaScript, to nie zadziała, ale wyświetli komunikat "W przypadku JavaScriptu użyj panelu poniżej lub panelu Zasoby dla plików zewnętrznych." – clayRay

1

@ Podejście Jpsy'ego nie wydaje się już działać (zobacz mój komentarz pod swoją odpowiedzią).

Dla mnie dodanie zasobu w Zasobach zewnętrznych również nie działało. (Według Firefox Debugger, nie mógł znaleźć zasobu).

Jedynym sposobem, w jaki udało mi się uzyskać zewnętrzny kod JavaScript (w moim przypadku jquery.backstretch.js) do pracy, było użycie Google do znalezienia skrzypiec, który używał tego zasobu (i pracował), a następnie widelec to Fiddle i kopiuj/wklej cały mój kod do paneli HTML, CSS i JavaScript. Ugh!

0

@clayRay, Absolutnie przeszedłeś operację kodu. Wystarczy wspomnieć, że rozwiązane źródła zewnętrznego w zwykły html, który w moim przypadku jest

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

Korzystanie kartę Zasoby zewnętrzne nie pomóc trochę ...

Powiązane problemy