2013-05-12 40 views
6

Câu hỏi của tôi không phải là quá nhiều về lý do tại sao một chút cụ thể của jQuery tôi đã viết không làm việc vì nó là về không có jQuery ở tất cả đang làm việc; thậm chí không làm việc ví dụ tôi đã sao chép trực tiếp từ những nơi như W3 trường học.Tại sao jQuery không hoạt động trên máy tính tại nhà của tôi?

Tôi thỉnh thoảng sử dụng jQuery trong công việc phát triển phần mềm của mình và trong khi tôi không phải là chuyên gia, tôi khá quen thuộc với nó. Lần đầu tiên tôi đang cố gắng sử dụng jQuery trong một dự án nhà và không có vấn đề gì tôi làm, không ai trong số họ sẽ làm việc. Ví dụ tôi đã đưa vào bên dưới là đơn giản như tôi có thể nghĩ đến, và thậm chí nó sẽ không hoạt động.

<!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> 

Điều gì có thể sai với điều này?

+0

Không ngạc nhiên khi w3schools không hoạt động. Hãy xem http://w3fools.com tại sao không – mplungjan

+0

Ví dụ của bạn hoạt động nếu bạn tải jQuery chính xác - điều đó có nghĩa là http: // từ tệp hoặc tải lên trang http://jsfiddle.net/mplungjan/8tXC2/ – mplungjan

+0

Bạn có mở trang từ trình quản lý tệp của bạn? – BoltClock

Trả lời

8

Mã này là ok.

Tập lệnh không tải xuống vì, có thể bạn không triển khai mã, trình duyệt sẽ mặc định giao thức file://.

Để giải quyết nó, thêm http: tại thẻ script:

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

Tôi thực sự đã thử nó ở đây. Chrome không tải tập lệnh. Nếu 'http: //' không được chỉ định, nó đã tìm kiếm 'file: //' – acdcjunior

+0

@mplungjan nếu 'http:' không có ở đó các trình duyệt sẽ không tìm kiếm tệp tương đối với thư mục gốc không? –

+0

@mplungjan: giao thức * là * được yêu cầu trên máy cục bộ (vì lý do được giải thích bởi [BoltClock, bên dưới] (http://stackoverflow.com/questions/16509740/why-does-no-jquery-work-on-my- home-machine/16509764? noredirect = 1 # comment23701542_16509764)). –

3

thay đổi này

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

này

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

Cách bạn tải jQuery có thể là một vấn đề . Khi bạn bắt đầu URL của mình với // nó được cho là hoạt động khi trang được duyệt qua giao thức HTTP hoặc HTTPS. Tuy nhiên, nếu bạn sẽ mở nó như là một tập tin địa phương nó sẽ không hoạt động.

Cho rằng ví dụ của bạn hoạt động qua HTTP tôi đề nghị bạn cố gắng bao gồm jQuery như sau:

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

Sử dụng http:

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

Bạn quên đặt

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

bên trong tài liệu sẵn sàng để bạn có thể làm như sau:

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

Không. Đó là sau khi P vì vậy nó là ok – mplungjan

+1

Nhưng đây không phải là thực hành tốt nhất để sử dụng jQuery vì vậy bên cạnh tập tin js jQuery src bao gồm trong địa phương hoặc CDN chúng ta cần phải làm điều này trên tài liệu Sẵn sàng chức năng – Milson

+0

Chúng tôi không thảo luận về thực hành tốt nhất. Có những lúc bạn cần phải có tập lệnh nội tuyến và một số người thề rằng các tập lệnh phải ở trước/body và các tập lệnh khác phải nằm trong phần đầu và v.v. Mã hoạt động, vấn đề là file: // so với http: // – mplungjan

0

Kiểm tra xem bạn có quyền phù hợp với tập lệnh hay không bằng cách gọi vị trí tập lệnh trong url trình duyệt. Vì vậy, nếu bạn vừa đặt "http://someloaction/js/jquery.min.js" vào url của trình duyệt. Nếu bạn có thể thấy "bị cấm", các quyền sẽ được chấp nhận.

Các vấn đề liên quan