许多JavaScript新移民以这条简单的行开头:
警报(“你好,世界”);
但是,Chrome最近在交叉iFrame中删除了alert()
功能引起了广泛的问题,这证明了Codepen支持票的激增。此更改,以及其他本机JavaScript对话框(例如confirm()
, prompt()
和onbeforeunload
(例如Codepen)等其他本机JavaScript对话框的弃用,这些对话极大地影响了Codepen,这些网站严重依赖于交叉式IFRAMES进行安全安全。缺乏先前的警告加剧了挫败感。
尽管安全问题是可以理解的(JavaScript对话框似乎相同,而不论其原点,可能会令用户感到困惑),但突然的变化忽略了现有的解决方案,例如沙盒。<iframe sandbox=""></iframe>
提供可靠的安全性,允许有选择地启用特定功能(<iframe sandbox="allow-scripts allow-downloads ...etc"></iframe>
)。现有的allow-modals
属性似乎不足,这表明了一个更广泛的目标:完全删除Web平台的JavaScript对话框。
这种严厉的措施将打破无数的教程和应用。尽管交叉限制限制被推迟到2022年1月,但在Chrome,Firefox和Safari支持的计划中,完全令人担忧。缺乏足够的开发人员和用户咨询是主要批评。
建议的替代方案, postMessage
,提出了几个缺点:
postMessage
不会停止执行,从而改变了应用程序流程。甚至更简单的解决方法,例如window.alert = console.log
,共享类似的问题。
许多开发人员表达了担忧:
alert()
作为功能的阻止性质(例如,暂停游戏)。丹·阿布拉莫夫(Dan Abramov)的亮点:关键功能(例如帐户删除流量)可能无法经常访问,但至关重要。
克里斯·费迪南迪(Chris Ferdinandi)和杰里米·基思(Jeremy Keith)进一步强调了缺乏沟通和对网络发展的重大影响。 Google内部的某些人的屈服回答只会加剧问题。
在承认Google对网络进步的贡献的同时,批评的重点是缺乏开发人员和用户外展,对含义和过渡策略的讨论不足,以及缺乏开放性来调整行动方案。更合作和透明的过程对于将来的Web平台更改至关重要。
以上是关于即将到来的JavaScript对话框弃用的选择词的详细内容。更多信息请关注PHP中文网其他相关文章!