2013-05-12 22 views
6

Moje pytanie nie tyle o to, dlaczego określony fragment jQuery, który napisałem, nie działa, ponieważ w ogóle nie działa jQuery; nawet przykłady pracy, które skopiowałem bezpośrednio z miejsc takich jak W3 Schools.Dlaczego jQuery nie działa na moim komputerze domowym (lokalnym)?

Używam jQuery od czasu do czasu w mojej pracy programistycznej i chociaż nie jestem żadnym ekspertem, jestem do tego dobrze zaznajomiony. Po raz pierwszy próbuję użyć jQuery w projekcie domowym i bez względu na to, co robię, żadna z nich nie zadziała. Podany poniżej przykład jest tak prosty, jak tylko mogę sobie wyobrazić, a nawet nie zadziała.

<!DOCTYPE HTML> 
<html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
</head> 
<body> 
<div> 
    <p>Old Stuff</p> 
</div> 
<script type="text/javascript"> 
    $('p').text('New Stuff'); 
</script> 
</body> 
</html> 

Co może być nie tak z tym?

+0

Nie jest zaskoczony, gdy w3schools nie działają. Spójrz na http://w3fools.com dlaczego nie – mplungjan

+0

Twój przykład działa, jeśli poprawnie załadujesz jQuery - to znaczy http: // z pliku lub prześlij stronę http://jsfiddle.net/mplungjan/8tXC2/ – mplungjan

+0

Czy jesteś otwarcie strony od menedżera plików? – BoltClock

Odpowiedz

8

Kod jest w porządku.

Skrypt nie jest pobierany, ponieważ, prawdopodobnie nie wdrażasz kodu, przeglądarka domyślnie stosuje protokół file://.

Aby go rozwiązać, należy dodać http: w tagu skryptu:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"> 
                      </script> 
+0

Tak naprawdę wypróbowałem to tutaj. Chrome nie ładuje skryptu. Jeśli 'http: //' nie jest określony, to szukał 'file: //' – acdcjunior

+0

@mplungjan, jeśli 'http:' nie ma, czy przeglądarki nie szukają pliku względem katalogu głównego? –

+0

@mplungjan: protokół * jest * wymagany na lokalnych urządzeniach (z powodów wyjaśnionych przez [BoltClock, poniżej] (http://stackoverflow.com/questions/16509740/why-does-no-jquery-work-on-my- dom-maszyna/16509764? noredirect = 1 # comment23701542_16509764)). –

3

zmiana ta

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 

do tego

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
1

sposób załadować jQuery może być problem . Po uruchomieniu adresu URL // powinien działać, gdy strona jest przeglądana za pomocą protokołów HTTP lub HTTPS. Jeśli jednak otworzysz go jako plik lokalny, nie zadziała.

Biorąc pod uwagę, że przykład działa przez HTTP Proponuję spróbować włączyć jQuery w następujący sposób:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"> 
</script> 
0

Korzystając http:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
-2

zapomniałeś umieścić

$('p').text('New Stuff'); 

wewnątrz Przygotuj dokument, aby to zrobić:

$(function(){ 
    $('p').text('New Stuff'); 
}); 
+0

Nie. To jest po P, więc jest ok. – mplungjan

+1

Ale to nie jest najlepsza praktyka używania jQuery, więc obok pliku jQuery js src należy włączyć do lokalnego lub CDN, musimy to zrobić w dokumencie Ready function – Milson

+0

Nie omawiamy najlepszych praktyk. Czasem trzeba mieć wbudowany skrypt, a niektórzy przysięgają, że skrypty powinny być przed/ciałem i innymi, że musi być w głowie i tak dalej. Kod działa, problem był następujący: // w porównaniu do http: // – mplungjan

0

Sprawdź, czy masz odpowiednie uprawnienia do skryptu, wywołując lokalizację skryptu w adresie URL przeglądarki. Tak więc, jeśli właśnie wstawiłeś "http://someloaction/js/jquery.min.js" w adresie URL przeglądarki. Jeśli widzisz "zabronione", uprawnienia są w porządku.

Powiązane problemy