ฟีเจอร์ใหม่ใน Chrome 69

เปิดตัว Chrome ครั้งแรกมา 10 ปีแล้ว จากตอนนั้นมีการเปลี่ยนแปลงมากมาย แต่เป้าหมายในการสร้างรากฐานที่มั่นคงสำหรับเว็บแอปพลิเคชันที่ทันสมัย ยังไม่บรรลุเป้าหมาย

ใน Chrome 69 เราได้เพิ่มการสนับสนุนสำหรับ

  • CSS Scroll Snap ช่วยให้คุณสามารถสร้างประสบการณ์การเลื่อนอย่างราบรื่น
  • หน้าจอรอยบากช่วยให้คุณใช้พื้นที่ของหน้าจอได้เต็ม ซึ่งรวมถึงพื้นที่ด้านหลังรอยบากหน้าจอ ซึ่งบางครั้งเรียกว่ารอยบาก
  • Web Locks API ช่วยให้คุณได้รับล็อกแบบไม่พร้อมกัน ถือไว้ขณะทำงาน แล้วปล่อย

นอกจากนี้ยังมีอีกมากมาย

ฉันชื่อ Pete LePage มาเจาะลึกและดูว่ามีอะไรใหม่สำหรับนักพัฒนาซอฟต์แวร์ใน Chrome 69 กัน

หากต้องการดูรายการการเปลี่ยนแปลงทั้งหมด โปรดดูรายการการเปลี่ยนแปลงที่เก็บแหล่งที่มา Chromium

สแนปการเลื่อน CSS

ดูการสาธิต | แหล่งที่มา

CSS Scroll Snap ช่วยให้คุณสร้างประสบการณ์การเลื่อนอย่างราบรื่นและโดดเด่นด้วยการประกาศตำแหน่งการสแนปการเลื่อนซึ่งจะบอกเบราว์เซอร์ว่าจะหยุดเล่นวิดีโอที่ใดหลังจากการเลื่อนแต่ละครั้ง ซึ่งมีประโยชน์มากสำหรับภาพหมุน หรือส่วนที่ใส่เลขหน้าซึ่งคุณต้องการให้ผู้ใช้เลื่อนไปยังจุดที่เฉพาะเจาะจง

สำหรับภาพสไลด์ ฉันจะเพิ่ม scroll-snap-type: x mandatory; ในคอนเทนเนอร์การเลื่อน และเพิ่ม scroll-snap-align: center; ลงในแต่ละรูปภาพ จากนั้นเมื่อผู้ใช้เลื่อนดูภาพหมุน ระบบจะเลื่อนรูปภาพแต่ละภาพไปยังตำแหน่งที่สมบูรณ์แบบอย่างลื่นไหล


#gallery {
  scroll-snap-type: x mandatory;
  overflow-x: scroll;
  display: flex;
}

#gallery img {
   scroll-snap-align: center;
}

การสแนปการเลื่อน CSS จะทำงานได้ดี แม้ว่าเป้าหมายการสแนปจะมีขนาดแตกต่างกันหรือเมื่อมีขนาดใหญ่กว่าตัวเลื่อน! โปรดดูรายละเอียดเพิ่มเติมและตัวอย่างที่คุณลองได้ในโพสต์การเลื่อนที่มีการควบคุมอย่างดีด้วย CSS Scroll Snap

หน้าจอรอยบาก (หรือที่เรียกว่ารอยบาก)

โทรศัพท์มือถือที่มีคัตเอาท์ดิสเพลย์
เบราว์เซอร์จะเพิ่มขอบสำหรับอุปกรณ์เคลื่อนที่ที่มีคัตเอาต์ของจอแสดงผลเพื่อป้องกันไม่ให้เนื้อหาบดบังเนื้อหา

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

แต่ถ้าคุณต้องการใช้พื้นที่นั้นล่ะ

ตอนนี้คุณทำได้แล้วเมื่อใช้ตัวแปรสภาพแวดล้อม CSS และเมตาแท็ก viewport-fit เช่น หากต้องการบอกให้เบราว์เซอร์ขยายไปยังพื้นที่หน้าจอรอยบาก ให้ตั้งค่าพร็อพเพอร์ตี้ viewport-fit ในเมตาแท็ก viewport เป็น cover

<meta name='viewport' content='initial-scale=1, viewport-fit=cover'>

จากนั้นคุณจะใช้ safe-area-inset-* ตัวแปรสภาพแวดล้อม CSS เพื่อจัดวางเนื้อหาได้

.content {
  padding: 16px;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

ในบล็อก WebKit มีโพสต์ที่น่าสนใจเกี่ยวกับการออกแบบเว็บไซต์สำหรับ iPhone X หรือดูรายละเอียดเพิ่มเติมในวิดีโออธิบาย

API ของ Web Locks

Web Locks API ช่วยให้คุณได้รับล็อกแบบไม่พร้อมกัน ถือไว้ขณะทำงาน แล้วปล่อย ขณะที่ล็อก จะไม่มีสคริปต์อื่นๆ ในต้นทางที่รับล็อกเดียวกันนี้ ซึ่งช่วยประสานงานการใช้ทรัพยากรที่ใช้ร่วมกัน

ตัวอย่างเช่น หากเว็บแอปที่ทำงานในหลายแท็บต้องการตรวจสอบว่ามีเพียงแท็บเดียวกำลังซิงค์กับเครือข่าย รหัสการซิงค์จะพยายามขอล็อกที่ชื่อ network_sync_lock

navigator.locks.request('network_sync_lock', async lock => {
  // The lock has been acquired.
  await do_something();
  await do_something_else();
  // Now the lock will be released.
});

แท็บแรกที่จะมีการล็อกจะซิงค์ข้อมูลกับเครือข่าย หากแท็บอื่นพยายามขอล็อกอันเดียวกัน แท็บนั้นจะอยู่ในคิว เมื่อปล่อยล็อกแล้ว คำขอที่อยู่ในคิวถัดไปจะอนุญาตให้มีการล็อกและดำเนินการ

MDN มีข้อมูลเบื้องต้นเกี่ยวกับ Web Lock ที่ยอดเยี่ยมและมีคำอธิบายที่ละเอียดยิ่งขึ้นและมีตัวอย่างมากมาย หรือเจาะลึกและดูspec

และอีกมากมาย

ทั้งหมดนี้เป็นการเปลี่ยนแปลงเพียงบางส่วนใน Chrome 69 สำหรับนักพัฒนาซอฟต์แวร์ และแน่นอนว่ายังมีสิ่งใหม่ๆ อีกมากมาย

การไล่ระดับสีแบบกรวย

  • จากข้อกำหนด CSS4 ตอนนี้คุณสามารถสร้างการเปลี่ยนสีรอบๆ วงกลมโดยใช้การไล่ระดับสีแบบกรวย Lea Verou มี โพลีฟิลล์ conic-gradient() ของ CSS ที่คุณสามารถใช้ได้ และหน้าเว็บมีตัวอย่างเจ๋งๆ มากมายที่ชุมชนส่งเข้ามา
  • มีวิธี toggleAttribute() ใหม่ในองค์ประกอบที่สลับการมีอยู่ของแอตทริบิวต์ ซึ่งคล้ายกับ classList.toggle()
  • อาร์เรย์ JavaScript กำลังมีเมธอดใหม่ 2 วิธี ได้แก่ flat() และ flatMap() โดยจะแสดงผลอาร์เรย์ใหม่ที่มีเอลิเมนต์อาร์เรย์ย่อยทั้งหมดปัดเข้าไป
  • และ OffscreenCanvas จะย้ายงานจากเทรดหลักไปยังผู้ปฏิบัติงาน ซึ่งจะช่วยลดจุดคอขวดด้านประสิทธิภาพ

ไข่อีสเตอร์

คุณพบไข่อีสเตอร์ทั้งหมดในวิดีโอไหม

ขอขอบคุณเป็นพิเศษสำหรับทุกคนที่ช่วยให้เกิด New in Chrome 28 ตอน ทุกคนเก่งกันทุกคนเลย

Heather Duthie<br>
Tim Malieckal<br>
Rick Murphy<br>
Derek Bass<br>
Kiran Puri<br>
Nilesh Bell-Gorsia<br>
Lee Carruthers
Philip Maniaci<br>
Chris Turiello<br>
Andrew Barker<br>
Alex Crowe<br>
Izzy Cosentino<br>
Norm Magnuson<br>
Loren Borja
Michelle Ortega<br>
Varun Bajaj<br>
Ted Maroney<br>
Andrew Bender<br>
Andrew Naugle<br>
Michelle Michelson<br>
Todd Rawiszer
Anthony Mcgowen<br>
Victoria Canty<br>
Alexander Koht<br>
Jarrod Kloiber<br>
Andre Szyszkowski<br>
Kelsey Allen<br>
Liam Spradlin

อยากรู้ไหมว่า "ใหม่ใน Chrome" พัฒนามาไกลเพียงใดนับตั้งแต่ตอนแรก ลองดูวิดีโอแสดงความคืบหน้าสนุกๆ นี้ยาว 30 วินาที ที่บอกเล่าประวัติของเราตั้งแต่วิดีโอแรกจนถึงวันนี้!

อย่าลืมขอขอบคุณที่รับชมและแสดงความคิดเห็น ฉันอ่านทุกข้อแล้ว และขอย้ำอีกครั้งว่าข้อเสนอแนะของคุณ วิดีโอเหล่านี้ดีขึ้นเรื่อยๆ ก็เพราะคุณ!

ขอขอบคุณที่รับชม

ฟีเจอร์ใหม่ใน Chrome Bloopers

เรารวบรวมคลิปมือถือหนูน้อยแสนสนุกให้คุณได้สนุก! หลังจากดูแล้ว ผมได้เรียนรู้อะไรบางอย่างดังนี้

  • เวลาพูดอะไรก็ทำเสียงแปลกๆ ขึ้นมา
  • ฉันทำหน้าและแลบลิ้น
  • ผมส่ายไปมาหลายครั้ง

ติดตาม

หากต้องการติดตามวิดีโอล่าสุดของเรา โปรดติดตามช่อง YouTube สำหรับนักพัฒนาซอฟต์แวร์ Chrome และคุณจะได้รับการแจ้งเตือนทางอีเมลทุกครั้งที่เราเปิดตัววิดีโอใหม่

ผมชื่อ Pete LePage และทันทีที่เปิดตัว Chrome 70 ผมจะบอกคุณว่า มีอะไรใหม่ใน Chrome!