Cảnh báo JavaScript của Chrome

Cách đây không lâu, Chrome đã phá vỡ web bằng cách vô hiệu hóa các hộp thoại alert[], confirm[]prompt[] khỏi các iframe có nhiều nguồn gốc. Lời biện minh là "UX hiện tại khó hiểu và trước đây đã dẫn đến các trang web giả mạo rằng thông báo đến từ Chrome hoặc một trang web khác";

Nhưng việc sử dụng hợp pháp cũng bị ảnh hưởng. Người dùng CodePen, trang web chia sẻ mã được sử dụng rộng rãi do Chris Coyier đồng sáng lập, đột nhiên phát hiện ra rằng họ không thể sử dụng các chức năng này trong dự án của mình, vì CodePen chạy mã của bạn bên trong iframe nhiều nguồn gốc để bảo vệ chống lại các cuộc tấn công XSS. Các báo cáo từ các trang web khác đã được theo dõi và trong sự hỗn loạn sau đó, thay đổi đã bị lùi lại cho đến năm 2022

Ẩn trong các câu trả lời cho tweet của Coyier là một tuyên bố đáng ngạc nhiên từ Domenic Denicola, một kỹ sư trong nhóm Chrome

Tốt nhất là các trang web giảng dạy như vậy được chuẩn bị cho trạng thái kết thúc cuối cùng khi chúng bị xóa hoàn toàn khỏi nền tảng web

Đợi đã, cái gì?

Đọc ý định xóa chủ đề xác nhận rằng đây thực sự là lập trường của Chrome. các hộp thoại chặn [bao gồm cả onbeforeunload] là do nhầm lẫn và việc xóa chúng trong tương lai là chuyện đã rồi

Sau khi tôi tweet về tình huống này vào tuần trước, tab thông báo của tôi đã trở thành địa ngục của Boschian, vì vậy tôi do dự khi viết bài đăng này. Nhưng có một số khía cạnh của câu chuyện này quá quan trọng để chúng ta không nói đến. Đây không chỉ là câu chuyện về các API không được yêu thích, mà còn là câu chuyện về sức mạnh, thiết kế tiêu chuẩn và người sở hữu nền tảng — và nó khiến tôi lo sợ cho tương lai của web

Onramps

Dan Abramov của Facebook đã chỉ ra rằng những thay đổi này đã tạo ra nhiều hướng dẫn lập trình. Emily Stark của Google đề nghị họ nên sử dụng phần tử để thay thế. Hiện tại, chúng tôi sẽ đề cập đến thực tế rằng có đủ sai sót khiến Denicola đã loại bỏ nó khỏi thông số kỹ thuật — hoặc phương án dự phòng được đề xuất của MDN cho các trình duyệt không hỗ trợ nó không ai khác chính là alert — và thay vào đó hãy xem xét điều này sẽ như thế nào

Thông thường, khi tôi dạy mọi người phát triển web, họ bắt đầu học JavaScript bằng cách xây dựng một trò chơi đoán số đơn giản theo những dòng này

function game[] {
  let number = Math.ceil[Math.random[] * 100];
  let guess = prompt[`Guess a number between 1 and 100`];

  guess = Number[guess];

  while [guess !== number] {
    if [guess 

Chủ Đề