考虑过一段时间,我决定问:
为什么浏览器在进行回发时不会阻止屏幕?
我一直被网页浏览器(通常不能说我已经全部使用过)在我点击产生回发的按钮后屏幕阻止这一事实所困扰。正如我所看到的,在发布期间,浏览器期望服务器返回一些信息。如果没有,连接将超时,页面将被错误替换。如果服务器回答,则必须使用网页;换句话说,不可能保持当前网页的呈现。
但是我经常点击一个按钮,意识到我忘了勾选一个复选框,所以我点击它,但无济于事。我知道,我应该意识到单击复选框无济于事,但是嘿,我通常在自动模式下做事。
我认为可能是在您按下按钮或点击了会产生回发的链接后,浏览器会阻止该网页,因此您无法按任何内容。但由于某些原因,大多数浏览器都没有。为什么呢?
答案 0 :(得分:0)
浏览器仅显示页面所显示的内容,并执行脚本告诉它的内容。如果页面设计者在连接期间没有实现任何禁用输入的功能,那么浏览器会将其保留下来。在某些情况下,这可能很有用,例如当输入设备需要可用时(尽管我无法想到一个很好的例子)。禁用它们的一种快速方法(除了禁用每个单独的输入)是一个隐藏的div,其z-index高于页面的其余部分,以低不透明度隐藏(屏幕看起来略微着色,div防止其下面的任何内容正在使用)然后在收到响应时再次隐藏它。 最终它只是设计选择的结果。这会回答你的问题吗?
答案 1 :(得分:0)
当浏览器阻止输入通常是故意编程的那种方式。 回发和单击按钮没有耦合,因为并不总是使用按钮来进行回发。
即使浏览器在后台向某个服务器发出请求,按下的按钮也不会触发此请求(请参阅Ajax)
换句话说,有比“按钮,然后回发”更复杂的场景,为了涵盖每个场景,浏览器让这个控件给程序员。