Chrome 72 chính thức ra mắt, chặn tiêm mã và nhiều tính năng mới dành cho developer

Hôm nay, Google đã chính thức tung ra Chrome 72 cho các nền tảng Windows, Mac và Linux. Bản phát hành lần này sẽ bao gồm một tính năng đã được chờ đợi từ rất lâu, đó là chặn mã tiêm (code injection blocking) và các tính năng mới dành riêng cho các nhà phát triển. Bạn có thể cập nhật Chrome của mình lên phiên bản mới nhất ngay bây giờ bằng cách sử dụng trình cập nhật tích hợp sẵn trong Chrome Chrome hoặc tải xuống trực tiếp bản cập nhật từ website google.com/chrome.

Với hơn 1 tỷ người dùng, có thể nói Chrome vừa là một trình duyệt web vừa là một nền tảng quan trọng đối với các nhà phát triển web. Do đó, mỗi sự thay đổi dù là nhỏ nhất trên trình duyệt này đều sẽ nhận được những sự quan tâm rất lớn từ cộng đồng. Trên thực tế, với các bổ sung và thay đổi thường xuyên của Chrome, các nhà phát triển thường phải nỗ lực để vượt lên trên và làm chủ tất cả các tính năng có sẵn, cũng như ứng phó với những sự thay đổi mới dù tiêu cực hay tích cực.

Google đã chính thức tung ra Chrome 72 cho các nền tảng Windows, Mac và Linux.

Chrome 72 không phải là một bản phát hành lớn trong năm, do đó sẽ không có nhiều cải tiến và tính năng mới đáng chú ý. Tuy nhiên, bản cập nhật này lại mang đến một chức năng rất được mong đợi đối với người dùng Windows, đó là ngăn chặn việc tiêm mã, giúp giảm thiểu sự cố do các phần mềm của bên thứ ba gây ra.

Thực ra, sáng kiến chặn tiêm mã trong Chrome đã được nêu ra từ năm ngoái, nhưng chỉ dưới dạng các cảnh báo cho người dùng biết rằng Chrome đang phát hiện ra vấn đề. Tuy nhiên, trên phiên bản lần này, những cảnh báo đó đã biến mất và Chrome sẽ chặn hoàn toàn các hành vi tiêm mã theo mặc định.

Khi Google lần đầu tiên nói đến tính năng này, công ty đã lưu ý rằng kỹ thuật tiêm mã có thể được sử dụng cho các mục đích tốt hoặc xấu, nhưng dù bằng cách nào đi chăng nữa nó cũng có thể gây ra vấn đề không mong muốn. Chẳng hạn như các phần mềm chống virus, đưa mã vào Chrome để sửa đổi hoạt động của ứng dụng. Điều này dẫn đến việc các sự cố trên trình duyệt xảy ra thường xuyên hơn. Google cũng cho biết người dùng Windows cài phần mềm tiêm mã vào Chrome sẽ có nguy cơ gặp phải các lỗi trên Chrome cao hơn 15% so với thông thường và đó là lý do tại sao Google nỗ lực ngăn chặn việc tiêm mã.

Đối với Android và iOS

Chrome Android

Chrome 72 cho Android đã được ra mắt, nhưng cũng như thường lệ, sẽ không có danh sách liệt kê các thay đổi trên Google Play. Trong khi đó, Chrome 72 cho iOS cũng đã có sẵn trên Apple App Store với các thay đổi sau:

  • Hỗ trợ cho nhiều công cụ tìm kiếm hơn. Để thêm một công cụ tìm kiếm khác, bạn hãy thực hiện các truy vấn tìm kiếm trên trang web đó trong Chrome. Sau đó, truy cập vào cài đặt Chrome để thêm công cụ tìm kiếm làm tùy chọn.
  • Đã sửa lỗi xuất hiện trên một số bản dịch trang, và thêm bản dịch bổ sung trên các trang web chưa được dịch trước đó.
  • Bổ sung thêm một Shortcut cho Siri để bắt đầu một truy vấn tìm kiếm mới.

Có thế thấy rằng các thay đổi mà Chrome 72 mang lại trên iOS không lớn, nhưng vô cùng hữu ích và chắc chắn sẽ nhận được phản hồi tích cực.

Sửa lỗi và cải thiện bảo mật

Chrome 72 có đến 58 bản sửa lỗi bảo mật. Đây là những lỗi được các nhà nghiên cứu bên thứ ba tìm thấy. Google đã chi ít nhất 50.500$ tiền thưởng cho các phát hiện giúp họ tìm ra sự cố cũng như góp phần xây dựng các bản vá.

Các tính năng mới cho nhà phát triển

Chrome

Về phần các nhà phát triển, Chrome 72 cho phép khai báo các trường lớp công khai (public class fields) trong tập lệnh và tính năng hỗ trợ cho các trường lớp riêng tư (private class fields) cũng sẽ sớm được triển khai. Để triển khai các trường lớp công khai, bạn hãy khai báo chúng bên trong một khai báo lớp nhưng bên ngoài các hàm thành viên (chúng có thể được khởi tạo hoặc chưa được khởi tạo). Khai báo các trường lớp có nghĩa là làm cho các định nghĩa lớp trở nên dễ triển khai hơn và đảm bảo các phiên bản của lớp phải trải qua ít lần chuyển tiếp hơn.

Ngoài ra, Chrome 72 cũng sẽ triển khai API truy vấn kích hoạt người dùng (User Activation Query API), được sử dụng để truy vấn xem đã có kích hoạt người dùng hay chưa. Tính năng này rất hữu ích cho các API bị hạn chế một cách có chủ ý, để tránh các hành vi gây phiền nhiễu trên trang web và cho phép các iframe được nhúng vào các cuộc gọi postMessage () nhằm xác định xem chúng có xảy ra trong tình huống kích hoạt người dùng hay không.

Không chỉ vậy, Chrome 72 cũng đã cập nhật công cụ JavaScript V8 lên phiên bản 7.2, bao gồm các cải tiến về bộ nhớ, điều chỉnh hiệu suất và các tính năng ngôn ngữ JavaScript mới.

Các tính năng khác dành cho nhà phát triển sẽ có mặt trong phiên bản này bao gồm:

  • API cache: API Cache.prototype.addAll(), cho phép nhà phát triển thêm nhiều mục nhập vào bộ đệm cùng một lúc. Chrome sẽ giải quyết các xung đột đó bằng cách lưu trữ mục nhập sau và bỏ qua mục nhập trước đó. Cache.prototype.add ALL() hiện từ chối với một UnlimitedStateError.
  • Intl.ListFormat: API Intl.ListFormat() mới giúp các thư viện và khung định dạng danh sách theo kiểu cục bộ hóa bằng cách cung cấp các thông tin quốc tế hóa, sử dụng một từ hoặc cụm từ địa phương tùy chỉnh khi có sẵn.
  • FetchEvent.resultingClientId: FetchEvent.resultingClientId được đặt trên các yêu cầu điều hướng hoặc yêu cầu cho các worker. Đó là ID của khách hàng, là tài liệu và được tạo theo yêu cầu. Tính năng này đặc biệt có ích khi liên kết yêu cầu tài nguyên chính từ một tài liệu, với các yêu cầu nguồn phụ tiếp theo cũng từ cùng một tài liệu, ví dụ: cho mục đích ghi nhật ký và số liệu.
  • FetchEvents được yêu cầu cho favicon cùng nguồn gốc: Trước đây, các hạn chế kỹ thuật đã ngăn cản nhân việc nhận các đối tượng FetchEvent cho các yêu cầu favicon. Bây giờ, các service workers sẽ nhận được các đối tượng FetchEvent, miễn là URL yêu cầu có cùng nguồn gốc với service worker.
  • Ràng buộc thay đổi kích thước MediaStreamTrack (MediaStreamTrack resizeMode): Một thuộc tính mới kiểm soát cách trình duyệt lấy độ phân giải của MediaStreamTrack. Có hai giá trị được hỗ trợ: "none" (bản có độ phân giải gốc được cung cấp bởi camera, trình điều khiển hoặc hệ điều hành) và "crop-and-scale" (trình duyệt có thể sử dụng các tính năng cắt xén và thu nhỏ lại để điều chỉnh độ phân giải của video được quay bằng camera). Tính năng này cho phép ứng dụng cải thiện tính nhất quán trên các trình duyệt, và chỉ sử dụng độ phân giải gốc khi muốn.
  • RTC: Chrome hiện hỗ trợ RTCPeerConnection.connectionState, đây là một giá trị tổng hợp được tính toán từ các trạng thái vận chuyển của các phương tiện vận chuyển ICE và DTLS bên dưới. Tính năng này dự định cung cấp một cái nhìn tổng quan đầy đủ hơn về trạng thái kết nối so với RTCPeerConnection.iceConnectionState, vốn chỉ được cho là dựa trên ICE transport.
  • JSON.opesify: Đề xuất ECMAScript Stage 3 sẽ thay đổi JSON.opesify() để ngăn không cho nó trả về các chuỗi Unicode không được định dạng. Trước đây, JSON.opesify() sẽ tự xuất ra kết quả thay thế nếu đầu vào có chứa bất kỳ chuỗi Unicode không được định dạng nào. Với thay đổi này, JSON.opesify() sẽ đưa ra chuỗi thoát cho các đại diện đơn độc, làm cho đầu ra Unicode trở nên hợp lệ (và có thể biểu thị bằng UTF-8).
  • Thuộc tính File.webkitRelativePath có thể tương tác: File.webkitRelativePath của giao diện File trước đây trả về một giá trị khác với các trình duyệt khác, bây giờ nó trả về cùng một giá trị.
  • Coi ’#’ như là ký tự kết thúc nội dung URI: Chrome hiện cho phép các biểu tượng ‘#’ tồn tại trong phần nội dung của URI vi phạm đặc tả URL. Cụ thể hơn, nó xử lý một ‘#’ như là cả hai phần của thân dữ liệu và phần đầu của đoạn URL, sao cho có sự chồng lấp giữa hai thành phần này. Chrome hiện phù hợp với cả đặc điểm kỹ thuật và Firefox bằng cách coi ‘#’ của dữ liệu URL đầu tiên là phần cuối của thân dữ liệu và là phần đầu của đoạn.

Để xem danh sách đầy đủ về tất cả những tính năng mới trên Chrome 72 dành cho nhà phát triển, bạn có thể tham khảo Chrome 72 milestone hotlist.

Như thường lệ, Google sẽ phát hành các phiên bản Chrome mới cứ sau khoảng sáu tuần và Chrome 73 được lên kế hoạch sẽ phát hành vào giữa tháng ba.

Xem thêm:

Thứ Tư, 30/01/2019 22:50
31 👨 1.067