2010-09-28 35 views
7

Tôi đang tải jQuery qua CDN của Google bằng cách sử dụng mã sau.jQuery thông qua các phương pháp hay nhất về CDN của Google

Câu hỏi chính của tôi là điều gì sẽ xảy ra nếu người dùng truy cập trang web của tôi và chưa có jQuery được lưu trước. Liệu anh ấy có tải xuống phiên bản Google và của riêng tôi không? Đồng thời ở đây hoạt động như thế nào?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
    if(typeof jQuery == 'undefined') { 
     //<![CDATA[ 
     document.write("<script src='/includes/jquery-1.4.2.min.js' type='text/javascript'><\/script>"); 
     //]]> 
    } 
</script> 

Cảm ơn.

+1

Một câu hỏi tôi sẽ phải là lý do tại sao có séc thứ hai của bạn không? Nếu Google không hoạt động, tôi chắc chắn rằng hầu hết Internet sẽ bị hỏng ... (Tôi chỉ đùa thôi). Là sự thừa thực sự cần thiết? – JasCav

+1

@JasCav - Tuy nhiên, có một cơ hội nhỏ, người dùng không thể truy cập vào 'google.com', có lẽ ở Trung Quốc có lẽ? Chỉ là một ví dụ trên đỉnh đầu tôi. –

+0

@JasCav: Một khách hàng không thể truy cập tập lệnh trên Google. Tôi không biết lý do chính xác, nhưng tốt hơn là ngăn chặn, một vài dòng hơn sẽ không bị tổn thương. – BrunoLM

Trả lời

9

Trong mã ví dụ của bạn, họ sẽ tải xuống phiên bản google nếu họ chưa có nó vì một trang web khác. Sau đó, nếu vì một số lý do khiến Google không hoạt động, họ sẽ tải xuống phiên bản của bạn, họ sẽ không tải xuống cả hai. Thứ hai chỉ được yêu cầu nếu mục đầu tiên (từ Google) không thành công.

Vui lòng cung đi như thế này:

  1. Liệu chúng ta có phiên bản cache của google?
    • - Ok tốt để đi, sử dụng nó.
    • Không - Tải xuống từ Google, sử dụng nó.
  2. jQuery (đối tượng JavaScript) được xác định?
    • - ok nó được tải tốt, if() là sai, tiếp tục.
    • Không - oh snap! Tải Google không thành công, từ bộ nhớ cache hoặc tìm nạp, cần tải nó từ nơi khác
      • Tải nó từ trang web của bạn thông qua thẻ <script> mới vừa thêm.
+0

hoàn hảo. Yêu thích phong cách trả lời của bạn. Chính xác những gì tôi đang nhắm tới. Cảm ơn. – Frankie

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