2012-07-01 6 views
5

Chúng tôi thường kiểm tra xem jQuery có được nạp từ CDN hay không và dự phòng cho phiên bản cục bộ nếu không.Kiểm tra xem html 5 shim có được tải

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.1.min.js"><\/script>')</script> 

Tôi đang sử dụng trình khởi động twitter và tải html 5 shim từ bản sao googlecode.

<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>

Có cách nào tôi có thể dự phòng lên phiên bản địa phương nếu nó không tải từ googlecode

Hoặc tôi đang làm gì đó sai. Tôi không nên kiểm tra điều này?

Trả lời

11
<script>window.html5 || document.write('<script src="js/libs/your-local-version.js"><\/script>')</script> 
+0

Tôi sẽ chỉ sử dụng phiên bản cục bộ nhưng câu trả lời của bạn chắc chắn là câu trả lời cho câu hỏi. Nó hoạt động! – Jashwant

+2

Vui lòng không sử dụng document.write ... Trình phân tích cú pháp đầu cơ không thể tải tập lệnh được chèn bởi nó và bạn sẽ phải đợi mã để thực thi và mã được chèn bởi nó để tải trước các phần tử DOM khác bên dưới nó có thể được hiển thị xem http://www.stevesouders.com/blog/2012/04/10/dont-docwrite-scripts/ –

4

Tôi sẽ không làm phiền việc quay trở lại với jQuery (thảo luận dài và có thể sâu mà tôi không muốn mở), nhưng điều đó tùy thuộc vào bạn.

Tôi nghĩ rằng việc tải html5.js từ googlecode sẽ khiến bạn gặp nhiều vấn đề hơn và bạn nên lưu trữ nó cục bộ. Tại sao? Vì bạn đang tham chiếu mã trực tiếp ra khỏi thân cây của cây SVN. Mã đó có thể/sẽ thay đổi về bạn, điều này sẽ đưa công việc của bạn vào trạng thái chưa được kiểm tra. Bạn có thể tham khảo một bản sửa đổi cụ thể từ Googlecode ... hoặc thực sự, chỉ cần lưu trữ nó cho mình.

+0

Bây giờ tôi hiểu tất cả các mối quan tâm của bạn. +1 – Jashwant

1

Khi sử dụng html5shim, tôi khuyên bạn nên tải địa phương ngay từ đầu. Trên trang web của họ, họ gần đây đã thay đổi từ ngữ để làm cho bạn tải xuống tệp thay vì liên kết nóng từ GitHub, có thể lưu trữ mã chưa được kiểm tra.

+0

Cảm ơn thông tin +1 – Jashwant

4

chủ các Shiv tại địa phương, có nhiều vấn đề sử dụng nó từ Google (không kém phần quan DNS nhìn lên vv) để biết thêm see - http://zoompf.com/blog/2012/05/html5shiv-and-serving-content-from-code-repositories

Như cho rằng jQuery đang gọi lại tôi sẽ không bận tâm, người sử dụng sẽ nghĩ rằng trang bị hỏng lâu trước khi đám cháy gọi lại.

Nếu bạn cho tôi biết URL của trang của bạn, tôi sẽ trình bày.

+0

Thật là một thông tin hay. +1. Tôi phải đánh dấu câu trả lời của Vladimir vì câu trả lời đó chính xác là câu hỏi được hỏi. Nhưng có, tôi sẽ không sử dụng phiên bản của google cho chắc chắn. – Jashwant

+0

Rắc rối là mã của Vladimir có thực hành không tốt từ quan điểm thực hiện :-( –

+0

Vâng, tôi sẽ không sử dụng mã của Vladimir. Tôi có đề nghị của bạn Bây giờ, tôi sẽ không sử dụng ngay cả jQuery cdn. đã trả lời cho câu hỏi của tôi – Jashwant