Ramai pendatang baru JavaScript bermula dengan garis mudah ini:
Alert ("Hello, World");
Walau bagaimanapun, fungsi penyingkiran alert()
baru-baru ini Chrome dalam iframes asal-usul menyebabkan masalah yang meluas, seperti yang dibuktikan oleh lonjakan tiket sokongan CodePen. Perubahan ini, bersama-sama dengan pengurangan dialog JavaScript asli seperti confirm()
, prompt()
, dan onbeforeunload
, memberi kesan yang signifikan kepada laman web seperti Codepen yang sangat bergantung pada iframes asal-usul untuk keselamatan. Kekurangan amaran terdahulu ditambah kepada kekecewaan.
Walaupun kebimbangan keselamatan dapat difahami (dialog JavaScript kelihatan sama tanpa mengira asal, pengguna yang berpotensi mengelirukan), perubahan mendadak menghadap penyelesaian sedia ada seperti Sandboxing.<iframe sandbox=""></iframe>
menyediakan keselamatan yang mantap, yang membolehkan ciri -ciri khusus diaktifkan secara selektif (<iframe sandbox="allow-scripts allow-downloads ...etc"></iframe>
). Atribut allow-modals
yang sedia ada nampaknya tidak mencukupi, mencadangkan matlamat yang lebih luas: penyingkiran lengkap dialog JavaScript dari platform web.
Langkah drastik ini akan memecahkan tutorial dan aplikasi yang banyak. Walaupun sekatan silang asal ditangguhkan sehingga Januari 2022, penyingkiran lengkap yang dirancang, disokong oleh Chrome, Firefox, dan Safari, sangat berkenaan. Kekurangan pemaju dan konsultasi pengguna yang mencukupi adalah kritikan utama.
Alternatif yang dicadangkan, postMessage
, membentangkan beberapa kelemahan:
postMessage
tidak menghentikan pelaksanaan, mengubah aliran aplikasi. Walaupun penyelesaian yang lebih mudah, seperti window.alert = console.log
, berkongsi masalah yang sama.
Ramai pemaju telah menyuarakan kebimbangan:
alert()
sebagai ciri (contohnya, permainan berhenti).Metrik yang disebut sebanyak 0.006% pandangan halaman menggunakan fungsi-fungsi ini dalam iframes asal-usul adalah mengelirukan, seperti yang dikatakan oleh Dan Abramov: fungsi kritikal, seperti aliran penghapusan akaun, mungkin tidak diakses dengan kerap tetapi tetap penting.
Chris Ferdinandi dan Jeremy Keith terus menekankan kekurangan komunikasi dan kesan yang signifikan terhadap pembangunan web. Tanggapan merendahkan dari beberapa dalam Google hanya memburukkan lagi isu ini.
Walaupun mengakui sumbangan Google kepada kemajuan web, kritikan memberi tumpuan kepada kekurangan pemaju dan jangkauan pengguna, perbincangan yang tidak mencukupi mengenai implikasi dan strategi peralihan, dan kekurangan keterbukaan untuk menyesuaikan tindakan. Proses yang lebih kolaboratif dan telus adalah penting untuk perubahan platform web masa depan.
Atas ialah kandungan terperinci Kata -kata pilihan mengenai pengurangan dialog JavaScript yang akan datang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!