jQuery เวอร์ชันล่าสุดบน CDN ของ Google


103

ฉันอ่านในเอกสารอย่างเป็นทางการของ Google CDN ว่านี่คือsrcjQuery:

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

อย่างไรก็ตามมันน่ารำคาญที่ต้องเปลี่ยนsrcการอ้างอิงjQuery ของฉันในการอัปเดตแต่ละเวอร์ชัน

ฉันพบว่าถ้าฉันตั้งค่าเวอร์ชันเป็น1Google จะส่งคืน jQuery เวอร์ชันล่าสุด

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
/*! jQuery v1.8.2 jquery.com | jquery.org/license */

นี่คือสิ่งที่ถูกต้องหรือไม่? มี URL ที่เป็นทางการสำหรับอ้างอิง jQuery เวอร์ชันล่าสุดที่โฮสต์บน Google CDN หรือไม่


ตรวจสอบว่าโพสต์นี้เก่ากว่า อีกอันคือรายการที่ซ้ำกัน
Martin Borthiry

1
นี่คือรายการที่ซ้ำกันของstackoverflow.com/questions/441412/… (ถามเมื่อ 14 ม.ค. 2552)
Nick Pierpoint

คำตอบ:


182

อัปเดต 7/3/2014:ณ ขณะนี้jquery-latest.jsไม่มีการอัปเดตอีกต่อไป จากบล็อก jQuery :

เราทราบว่าhttp://code.jquery.com/jquery-latest.jsถูกละเมิดเนื่องจากสถิติ CDN แสดงให้เห็นว่าเป็นไฟล์ที่ได้รับความนิยมมากที่สุด นั่นจะไม่เป็นเช่นนั้นหากนักพัฒนาใช้เพื่อสร้างสำเนาในเครื่องเท่านั้น

เราได้ตัดสินใจที่จะหยุดการอัปเดตไฟล์นี้รวมถึงสำเนาที่ย่อขนาดแล้วโดยให้ไฟล์ทั้งสองเป็นเวอร์ชัน 1.11.1 ตลอดไป

ทีมงาน Google CDN ได้เข้าร่วมกับเราในความพยายามที่จะป้องกันไม่ให้เกิดความแตกแยกเว็บโดยไม่ได้ตั้งใจและไม่ปรับปรุงแฟ้มที่ http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js ไฟล์นั้นจะยังคงล็อกอยู่ที่เวอร์ชัน 1.11.1 เช่นกัน

คำตอบต่อไปนี้จะถูกเก็บรักษาไว้ที่นี่ด้วยเหตุผลทางประวัติศาสตร์


อย่าทำแบบนี้ อย่างจริงจังอย่า

การลิงก์ไปยัง jQuery เวอร์ชันหลักใช้งานได้ แต่เป็นความคิดที่ไม่ดี - คุณลักษณะใหม่ทั้งหมดจะถูกเพิ่มและเลิกใช้งานในการอัปเดตทศนิยมแต่ละรายการ หากคุณอัปเดต jQuery โดยอัตโนมัติโดยไม่ได้ทดสอบโค้ดของคุณโดยสมบูรณ์คุณอาจเสี่ยงต่อความประหลาดใจที่ไม่คาดคิดหาก API สำหรับวิธีการที่สำคัญบางอย่างมีการเปลี่ยนแปลง

นี่คือสิ่งที่คุณควรทำ: เขียนโค้ดของคุณโดยใช้ jQuery เวอร์ชันล่าสุด ทดสอบแก้ไขข้อบกพร่องเผยแพร่เมื่อพร้อมสำหรับการผลิต

จากนั้นเมื่อ jQuery เวอร์ชันใหม่เปิดตัวให้ถามตัวเองว่า: ฉันต้องการเวอร์ชันใหม่นี้ในโค้ดของฉันหรือไม่? ตัวอย่างเช่นมีความเข้ากันได้ของเบราว์เซอร์ที่สำคัญบางอย่างที่ไม่เคยมีมาก่อนหรือจะทำให้โค้ดของฉันเร็วขึ้นในเบราว์เซอร์ส่วนใหญ่หรือไม่

หากคำตอบคือ "ไม่" อย่ากังวลกับการอัปเดตโค้ดของคุณให้เป็น jQuery เวอร์ชันล่าสุด การทำเช่นนั้นก็อาจจะเพิ่มข้อผิดพลาดใหม่รหัสของคุณซึ่งไม่ได้มีอยู่ก่อน ไม่มีนักพัฒนาที่รับผิดชอบรวมโค้ดใหม่จากไซต์อื่นโดยอัตโนมัติโดยไม่ต้องทดสอบอย่างละเอียด

ไม่มีเหตุผลที่ดีที่จะใช้ jQuery เวอร์ชันล่าสุดเสมอไป เวอร์ชันเก่ายังคงมีอยู่ใน CDN และหากใช้งานได้ตามวัตถุประสงค์ของคุณแล้วทำไมต้องเปลี่ยนใหม่


ปัญหารอง แต่อาจสำคัญกว่าคือการแคช หลายคนเชื่อมโยงกับ jQuery บน CDN เนื่องจากไซต์อื่น ๆ ทำและผู้ใช้ของคุณมีโอกาสที่จะมีเวอร์ชันนั้นแคชไว้แล้ว

ปัญหาคือแคชทำงานเฉพาะถ้าคุณให้จำนวนเวอร์ชันเต็ม หากคุณระบุหมายเลขเวอร์ชันบางส่วนการแคชในอนาคตจะไม่เกิดขึ้นเพราะหากเป็นเช่นนั้นผู้ใช้บางรายจะได้รับ jQuery เวอร์ชันรองที่แตกต่างกันจาก URL เดียวกัน (บอกว่าลิงก์ 1.7 คะแนนเป็น 1.7.1 วันเดียวและ 1.7.2 ในวันถัดไปเบราว์เซอร์จะแน่ใจได้อย่างไรว่าได้รับเวอร์ชันล่าสุดในวันนี้คำตอบ: ไม่มีการแคช)

อันที่จริงนี่คือรายละเอียดของตัวเลือกต่างๆและการตั้งค่าการหมดอายุ ...

http://code.jquery.com/jquery-latest.min.js (ไม่มีแคช)

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js (1 ชั่วโมง)

http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js (1 ชั่วโมง)

http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js (1 ปี)

ดังนั้นการเชื่อมโยงกับ jQuery ด้วยวิธีนี้คุณจะกำจัดหนึ่งในเหตุผลหลักในการใช้ CDN ตั้งแต่แรก


http://code.jquery.com/jquery-latest.min.jsอาจไม่ได้ให้เวอร์ชันที่คุณคาดหวังเสมอไป จากการเขียนนี้จะเชื่อมโยงไปยัง jQuery 1.x เวอร์ชันล่าสุดแม้ว่า jQuery 2.x จะได้รับการเผยแพร่แล้วก็ตาม เนื่องจาก jQuery 1.x เข้ากันได้กับเบราว์เซอร์รุ่นเก่าเช่น IE 6/7/8 และjQuery 2.x ไม่ใช่ไม่ได้ หากคุณต้องการ jQuery 2.x เวอร์ชันล่าสุด (สำหรับตอนนี้) คุณต้องระบุอย่างชัดเจน

ทั้งสองเวอร์ชันมี API เดียวกันดังนั้นจึงไม่มีความแตกต่างกันสำหรับเบราว์เซอร์ที่เข้ากันได้ อย่างไรก็ตาม jQuery 1.x เป็นการดาวน์โหลดที่ใหญ่กว่า 2.x


ขอบคุณสำหรับมุมมองของคุณ แต่ในกรณีของฉันควรใช้เวอร์ชันล่าสุดจะดีกว่า อย่างไรก็ตามฉันเห็นด้วยบางส่วนกับความคิดเห็นของคุณ แต่เวอร์ชันใหม่บางส่วนก็แก้ไขข้อบกพร่องเก่าด้วย นอกจากนี้เวอร์ชันล่าสุดยังมีความเป็นไปได้มากขึ้นที่จะอยู่ในแคชซึ่งเป็นประโยชน์อย่างหนึ่งของ cdn
Martin Borthiry

2
ตัวอย่างที่ดีของเหตุการณ์นี้คือการพัฒนาใน jquery ใด ๆ <1.4 แล้วอัปเกรดที่ผ่านมา 1.4 มีการเปลี่ยนแปลงในคุณสมบัติการเข้าถึงและวิธีที่คำขอของ ajax จัดการกับข้อมูล JSON ในการเรียกกลับ
scrappedcola

เพียงเพื่อชี้แจง .. ฉันขอหน้าเดียวที่ใช้ jquery เป็นส่วนสำคัญ ... ฉันเข้าใจจุดดีของคุณ แต่ฉันแค่อยากรู้ว่า google เสนอ url เพื่อรับเวอร์ชันล่าสุดหรือไม่
Martin Borthiry

4
@scrappedcola - jQuery 1.9 นำเสนอการเปลี่ยนแปลงมากมายเช่นกัน ฉันพบข้อบกพร่องมากมายในช่วงหลายปีที่ผ่านมาเนื่องจากปัญหาความเข้ากันได้ย้อนหลังใน jQuery และฉันเห็นด้วยอย่างยิ่งกับคำแนะนำของ Blazemonger คุณไม่ควรชี้ไปที่ URL "jQuery ล่าสุด" ไม่ว่าในกรณีใด ๆ คุณจะได้รับความเมตตาอย่างสมบูรณ์ของทีม jQuery และ jQuery รุ่นใหม่สามารถทำลายไซต์ของคุณได้อย่างง่ายดาย ไม่เพียง แต่จะเกิดขึ้นเท่านั้น แต่ยังมีแนวโน้มที่จะเกิดขึ้นในบางจุด
Steve Wortham

ยินดีที่ได้เรียนรู้ว่าการแคชขึ้นอยู่กับระดับรายละเอียดของเวอร์ชัน!
Tadas V.

8

ฉันไม่ทราบว่ามีการเผยแพร่ / ที่ใด แต่คุณสามารถรับรุ่นล่าสุดได้โดยการละเว้นหมายเลขรองและหมายเลขรุ่น

1.8.x ล่าสุด:

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

ล่าสุด 1.x:

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

อย่างไรก็ตามโปรดทราบว่าลิงก์เหล่านี้มีระยะหมดเวลาแคชสั้นกว่าหมายเลขเวอร์ชันเต็มดังนั้นผู้ใช้ของคุณอาจดาวน์โหลดมากกว่าที่คุณต้องการ ดู. 0 ที่สำคัญใน Google CDN ที่อ้างอิงถึง jQuery 1.x.0สำหรับข้อมูลเพิ่มเติม


1
คุณสามารถรับรุ่นล่าสุดได้จากcode.jquery.com/jquery.min.jsซึ่งโดยปกติจะได้รับการอัปเดตไม่กี่วันก่อน cdns อื่น ๆ
Kevin B

ในขณะที่คุณสามารถดึง 1.8.x ล่าสุดได้ด้วยวิธีนี้ แต่คุณไม่สามารถดึง 1.9 ล่าสุดหรือหมายเลขเวอร์ชันรองใด ๆ ได้หลังจากที่มีลิงก์ที่คล้ายกัน นอกจากนี้ลิงก์ "1.x ล่าสุด" ยังชี้ไปที่ 1.11.1 เมื่อล่าสุดเป็น 1.11.3
Blazemonger

@Blazemonger ถูกต้อง สิ่งนี้เปลี่ยนไปหลังจากที่ฉันตอบคำถามนี้ คุณมีคำอธิบายที่ดีในการอัปเดตของคุณ!
jrummell

8

หากคุณต้องการใช้ jQuery CDN นอกเหนือจากไลบรารี jQuery ที่โฮสต์โดย Google คุณอาจพิจารณาใช้สิ่งนี้และตรวจสอบให้แน่ใจว่าใช้ jQuery เวอร์ชันล่าสุด:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

สิ่งนี้ดึงขึ้น 1.9.1 แทนที่จะเป็น 2.0
Phillip Senn

3
v2.x เข้ากันไม่ได้กับ v1.x. เว็บไซต์ใด ๆ ที่ชี้ไปที่ URL นี้จะทำให้เว็บไซต์เสียหายหากอัปเดตเป็น v2
Abdul Munim


2

หากต้องการใช้ jquery เวอร์ชันล่าสุดที่โฮสต์โดย Google

มนุษย์:

  1. https://developers.google.com/speed/libraries/#jquery

  2. รับข้อมูลโค้ด:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

  1. ใส่ไว้ในรหัสของคุณ
  2. ตรวจสอบให้แน่ใจว่าได้ผล

บอท:

  1. รอมนุษย์มาทำ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.