2014-12-17 15 views
5

Trong khi trên trang web với một khách hàng, tôi đã đề xuất nâng cấp phiên bản jQuery mà máy khách đang sử dụng (ví dụ, từ jQuery 1.5 đến 1.11). Khách hàng có mối quan tâm nhỏ rằng phiên bản TimeGlider của họ sẽ không tương thích với jQuery mới hơn. Tôi không quen thuộc với TimeGlider, vì vậy họ đã duyệt (wth Chrome) đến một trang với TimeGlider để chứng minh cho tôi.Làm cách nào để "nâng cấp" phiên bản jQuery trong DOM?

Tôi nghĩ rằng tôi muốn được slick và "nâng cấp" thư viện jQuery của DOM, sử dụng các công cụ phát triển, để giải quyết câu hỏi ngay lập tức. Tôi biết one way to import the jQuery 1.11 library, nhưng kỹ thuật này có thể đòi hỏi một cách đơn giản để loại bỏ phiên bản jQuery cũ. Có lẽ có một cách tiếp cận tốt hơn.

Tất nhiên điều này là tầm thường để chỉnh sửa trong mã nguồn, nhưng tôi thực sự muốn làm điều đó trong DOM, thông qua các công cụ dành cho nhà phát triển.

Làm cách nào để "nâng cấp" phiên bản jQuery trong DOM?

+0

Theo như tôi biết, bạn không cần phải loại bỏ các phiên bản cũ, vì kịch bản thẻ mới bạn thêm vào sẽ ghi đè lên các biến jQuery với các phiên bản mới hơn. Bạn thực sự phải sử dụng tùy chọn noConflict nếu bạn muốn có thể sử dụng nhiều phiên bản jQuery trên cùng một trang, do đó giải pháp thẻ script của bạn chỉ hoạt động. – Zack

+0

Nếu plugin được viết tốt thì nó đã có một tham chiếu đến jquery "cũ" được truyền vào như một tham số (thay thế jquery toàn cầu sẽ không có hiệu lực). Không phải đề cập đến thực tế là bất kỳ khởi tạo nó đã làm đã được thực hiện với phiên bản cũ là tốt. –

Trả lời

16
  • Chuyển đến tab Sources.
  • Tìm tập tin jQuery (cmd + p/ctrl +p).
  • Add a breakpoint trong dòng đầu tiên (không bình luận) của tập lệnh.
  • Tải lại trang.
  • Khi thực hiện dừng, hãy chọn toàn bộ nội dung của tệp và thay thế chúng bằng nội dung của jquery-1.11.0.min.js.
  • Lưu những thay đổi (cmd + s/ctrl +s).
  • Tệp sẽ biên dịch lại và trang web sẽ chạy jQuery 1.11.0.

recompiled version of jQuery

+0

Giải pháp tuyệt vời. Tôi cảm thấy bạn đã có một nhu cầu tương tự để làm điều này trước đây? –

+2

@JeromyFrench TBH Tôi đã tìm ra nó ngay bây giờ :) Giải pháp khác mà tôi nghĩ đến là tạo một tiện ích mở rộng trả về jQuery 1.11 bất cứ khi nào tệp jquery.js cụ thể này được trình duyệt yêu cầu ([vị trí tốt để bắt đầu] (https: //developer.chrome.com/extensions/webRequest#type-BlockingResponse)). Hoặc sử dụng bất kỳ ứng dụng proxy nào, chẳng hạn như [Charles] (http://www.charlesproxy.com/). –

+2

Vâng, bạn đã dạy tôi một tính năng công cụ mới, mạnh mẽ, dành cho nhà phát triển. Cảm ơn bạn. –

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