2009-02-25 40 views
5

Tôi muốn sử dụng jQuery trong thư viện JS bổ sung có thể được thêm vào các trang web ngẫu nhiên. Các trang web này có thể hoặc không thể sử dụng jQuery.jQuery trong tiện ích

Tôi có 3 câu hỏi xung quanh điều này thực sự:

  1. tôi có lẽ sẽ được tải jQuery động từ kịch bản js của riêng tôi (không phải từ một thẻ script vào đầu tài liệu). Sẽ jquery làm việc theo cách này? làm thế nào tôi có thể chắc chắn rằng nó sẽ chạy trong thời gian mà không có tiêu chuẩn $ (tài liệu) .ready (function() {} trong tài liệu chính?

  2. Tôi nên làm gì để tránh xung đột với jQuery hiện có (nếu có) . trong mã trang web

  3. có cách nào khuyến khích để thêm một widget bao gồm jQuery để trang web ngẫu nhiên trong khi cung cấp mã số tối thiểu và hội nhập đơn giản nhất

+0

bạn đã hoàn thành tiện ích của mình chưa? nó có sẵn cho tiêu dùng công cộng không? – russau

Trả lời

5

này là khá lỏng lẻo và không đầy đủ -. và thực sự là một điểm khởi đầu:

if (typeof $ != 'undefined') { 
    var msg = 'This page already using jQuery v' + $.fn.jquery; 
} else { 
    var s = document.createElement('script'); 
    s.setAttribute('src', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js'); 
    document.getElementsByTagName('head')[0].appendChild(s); 
    var msg = 'This page is now jQuerified'; 
} 

sau đó chờ qua một setTimeout ngắn gọn() trước khi chạy một sẵn sàng() chức năng

+0

bạn đẹp .. đây là chính xác những gì tôi đang tìm kiếm – russau

+2

Bare trong tâm trí rằng $ không chỉ được sử dụng bởi jquery. – micmcg

+1

bỏ qua setTimeout xấu sau khi chắp thêm tập lệnh và đi tới s.onload = s.onreadystatechange = function() {... và kiểm tra 'readyState'. – vsync