Trong hầu hết mọi phiên bản Chrome, chúng tôi nhận thấy có rất nhiều bản cập nhật và những cải tiến đối với sản phẩm, hiệu suất của sản phẩm cũng như các tính năng của Web Nền tảng. Bài viết này mô tả việc ngừng sử dụng và xoá trong Chrome 60, đang trong giai đoạn thử nghiệm kể từ ngày 8 tháng 6. Danh sách này có thể thay đổi bất cứ lúc nào.
Bảo mật
Crypto.subtle hiện yêu cầu một nguồn gốc bảo mật
Web Crypto API
được hỗ trợ vì Chrome 37 luôn hoạt động trên các trang
nguồn gốc. Do chính sách lâu dài của Chrome về việc
ưu tiên các nguồn gốc bảo mật cho các tính năng mạnh mẽ,
crypto.subtle
không chỉ hiển thị trên các nguồn gốc an toàn.
Xoá các thao tác điều hướng khung hình trên cùng do nội dung khởi tạo khỏi các URL dữ liệu
Do không quen thuộc với những người dùng trình duyệt không có chuyên môn kỹ thuật, chúng tôi
ngày càng thấy giao thức data:
được dùng để giả mạo và lừa đảo
cuộc tấn công. Để ngăn điều này, chúng tôi sẽ chặn không cho các trang web tải URL data:
trong khung hình trên cùng. Điều này áp dụng cho thẻ <a>
, window.open
window.location
và các cơ chế tương tự. Lược đồ data:
vẫn sẽ hoạt động cho
tài nguyên do một trang tải.
Tính năng này không còn được dùng trong Chrome 58 và hiện đã bị loại bỏ.
Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium
Tạm thời vô hiệu hoá navigation.sendBeacon() cho một số blob
Đã có thể sử dụng hàm navigator.sendBeacon()
kể từ Chrome 39.
Như đã triển khai ban đầu, đối số data
của hàm có thể chứa bất kỳ
blob tuỳ ý thuộc loại không được liệt kê theo CORS. Chúng tôi cho rằng đây là một tiềm năng
mối đe doạ bảo mật, mặc dù chưa có ai cố gắng khai thác công cụ này. Vì chúng tôi KHÔNG
có biện pháp khắc phục ngay lập tức hợp lý cho vấn đề này, tạm thời, sendBeacon()
không thể
không gọi được trên các blob có loại KHÔNG được liệt kê an toàn CORS.
Mặc dù thay đổi này được triển khai cho Chrome 60 nhưng sau đó đã được hợp nhất quay lại Chrome 59.
CSS
Làm cho bộ kết hợp con cháu xuyên bóng hoạt động như tổ hợp con cháu
Bộ kết hợp con đổ bóng (>>>
), một phần của
Mô-đun xác định phạm vi CSS cấp 1
, nhằm khớp với phần tử con của một phần tử đối tượng cấp trên cụ thể
ngay cả khi chúng xuất hiện bên trong một cây bóng đổ. Việc này có một số hạn chế.
Trước tiên, theo thông số kỹ thuật, việc này
chỉ có thể được sử dụng trong lệnh gọi JavaScript như querySelector()
và không
làm việc trong biểu định kiểu. Quan trọng hơn, các nhà cung cấp trình duyệt không thể làm như vậy
hoạt động vượt ra ngoài một cấp độ của DOM tối.
Do đó, bộ kết hợp con đã bị xoá khỏi các thông số kỹ thuật có liên quan bao gồm Shadow DOM phiên bản 1. Thay vì phá vỡ các trang web bằng cách xóa bộ chọn này từ Chromium, thay vào đó, chúng tôi đã chọn đặt bí danh con cháu hiệu ứng bóng đổ bộ kết hợp đến bộ kết hợp con. Hành vi ban đầu là không dùng nữa trong Chrome 45. Hành vi mới này được triển khai trong Chrome 61.
Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium
JavaScript
Không dùng nữa và xoá RTCPeerConnection.getStreamById()
Gần hai năm trước, getStreamById()
đã bị xoá khỏi thông số kỹ thuật WebRTC. Hầu hết các trình duyệt khác đều có
đã xoá thuộc tính này khỏi các mô-đun triển khai của họ. Mặc dù chức năng này
được cho là ít được sử dụng, nhưng cũng được cho là có một số trẻ vị thành niên
Rủi ro về khả năng tương tác với các trình duyệt dựa trên Edge và WebKit không phải Safari
trong đó getStreamById()
vẫn được hỗ trợ. Nhà phát triển cần một giải pháp thay thế
Bạn có thể tìm thấy mã ví dụ trong Ý định cần xoá ở bên dưới.
Tính năng xoá được xử lý trong Chrome 62.
Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium
Ngừng sử dụng SVGPathElement.getPathSegAtLength
Hơn hai năm trước, getPathSegAtLength()
đã bị xoá khỏi thông số kỹ thuật của SVG.
Vì chỉ có một số ít lần truy cập cho phương thức này trong httplưu trữ, nên
không được dùng nữa trong Chrome 60. Quá trình xoá dự kiến sẽ được áp dụng trong Chrome 62, tức là phiên bản mới này
sẽ giao hàng vào đầu hoặc giữa tháng 10.
Ý định không còn được dùng nữa | Trình theo dõi trạng thái Chrome | Lỗi Chromium
Di chuyển getContextAttributes() sau một cờ
Hàm getContextAttributes()
đã được hỗ trợ trên
CanvasRenderingContext2D
kể từ năm 2013. Tuy nhiên, tính năng này không thuộc bất kỳ tiêu chuẩn nào và chưa được
một phần kể từ thời điểm đó. Điều này đáng lẽ phải được triển khai sau
--enable-experimental-canvas-features
cờ hiệu dòng lệnh, nhưng đã bị nhầm lẫn
thì không. Trong Chrome 60, sự giám sát này đã được khắc phục. Người ta tin rằng điều này
thì thay đổi đều an toàn vì không có dữ liệu nào cho thấy có ai đang sử dụng phương thức này.
Xoá Headers.prototype.getAll()
Hàm Headers.prototype.getAll()
đang bị xoá theo giá trị mới nhất
phiên bản của Thông số kỹ thuật tìm nạp.
Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium
XoáindexDB.webkitGetDatabaseNames()
Chúng tôi đã thêm tính năng này khi Cơ sở dữ liệu được lập chỉ mục còn khá mới mẻ trong Chrome và có thêm tiền tố thật sự giận dữ. API trả về không đồng bộ danh sách cơ sở dữ liệu hiện có cùng một nguồn gốc. Đây là điều hợp lý.
Rất tiếc là thiết kế có nhiều sai sót, khiến kết quả có thể sớm lỗi thời vì chúng được trả về, nên chỉ có thể dùng để ghi nhật ký, chứ không thể dùng logic ứng dụng. Chiến lược phát hành đĩa đơn Vấn đề trên github theo dõi/đường liên kết đến thảo luận trước đây về các phương án thay thế, mà đòi hỏi phải có một phương pháp khác. Mặc dù các nhà phát triển luôn quan tâm đến chương trình này, nhưng do thiếu các công cụ trình duyệt tiến trình duyệt web, vấn đề đã được các tác giả thư viện giải quyết.
Các nhà phát triển cần chức năng này cần phát triển giải pháp của riêng mình. Ví dụ: các thư viện như Dexie.js sử dụng bảng chung là một cơ sở dữ liệu khác để theo dõi tên của cơ sở dữ liệu.
Tính năng này không còn được dùng trong Chrome 58 và hiện đã bị loại bỏ.
Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium
Xóa WEBKIT_KEYFRAMES_QU và WEBKIT_KEYFRAME_QU
Hằng số WEBKIT_KEYFRAMES_RULE
và WEBKIT_KEYFRAME_RULE
không chuẩn
bị xoá khỏi
Quy tắc CSS.
Thay vào đó, nhà phát triển nên dùng KEYFRAMES_RULE
và KEYFRAME_RULE
.
Ý định xoá | Trình theo dõi trạng thái Chrome | Lỗi Chromium
Giao diện người dùng
Yêu cầu cử chỉ của người dùng đối với hộp thoại beforeunload
Từ Chrome 60 trở đi, hộp thoại beforeunload
sẽ chỉ xuất hiện nếu khung
cố gắng hiển thị quảng cáo đã nhận được cử chỉ của người dùng hoặc tương tác của người dùng (hoặc nếu
bất kỳ khung được nhúng nào đã nhận được một cử chỉ như vậy). Xin làm rõ, đây không phải là
thay đổi đối với việc gửi sự kiện beforeunload
. Đó chỉ là một thay đổi đối với
liệu hộp thoại có xuất hiện hay không.
Hộp thoại beforeunload
là hộp thoại chế độ ứng dụng. Như vậy, vốn dĩ
thù địch, nghĩa là ứng dụng này phản hồi thao tác điều hướng của người dùng bằng cách đặt câu hỏi
quyết định. Có nhiều trường hợp sử dụng tích cực tính năng này. Ví dụ: Trường hợp này thường được dùng
để cảnh báo cho người dùng khi họ sẽ mất dữ liệu bằng cách đi theo chỉ dẫn.
Mặc dù khả năng cung cấp văn bản cho hộp thoại beforeunload
của trang là
bị xoá cách đây một thời gian, hộp thoại beforeunload
vẫn là một phương tiện vi phạm. Ngang bằng
Cụ thể, hộp thoại beforeunload
là một thành phần của các trang web lừa đảo, nơi
âm thanh tự động phát và văn bản đe doạ cung cấp ngữ cảnh trong đó Chromium
với điều kiện "bạn có chắc chắn muốn rời khỏi trang này không" tin nhắn trở nên đáng lo ngại.
Chúng ta muốn luồn kim và chỉ cho phép sử dụng hiệu quả beforeunload
. Cách sử dụng hợp lý hộp thoại là những trường hợp người dùng có trạng thái
thua. Nếu người dùng chưa từng tương tác với trang, thì người dùng không thể có bất kỳ
trạng thái có thể bị mất và do đó, chúng tôi không có nguy cơ mất dữ liệu người dùng
chặn hộp thoại trong trường hợp đó.