osc*_*tin 3 internet-explorer popups
没有什么比填写一个充满数据的整个表单更让我恼火的了,只是点击了一个想要打开弹出窗口的按钮,而 IE 必须刷新整个页面,这导致我丢失了我在表单中输入的所有内容。
为什么?
IE 的弹出窗口拦截器最初是否重写了页面的源代码或其他内容,以便脚本无法打开弹出窗口。这就是为什么当您告诉它允许弹出窗口时它必须完全刷新页面,以便在不修改源以禁用弹出窗口的情况下刷新?
有没有办法告诉 IE 它可以允许页面弹出窗口而无需刷新?
TL;DR:因为网页实际上是应用程序,并且在不希望打开时打开弹出窗口会引入未定义状态。
弹出窗口使用 JavaScript 显示。有时脚本可能会期待弹出窗口的一些反应。当浏览器阻止弹出窗口时,它必须通知脚本出现问题,以便采取适当的措施。(或者它只是取消整个脚本,对于这个问题并不重要)
如果您稍后打开该弹出窗口,它可能想要对试图显示它的脚本做出反应。但是现在脚本执行已经结束,应用程序将进入正常应用程序流程中永远无法进入的状态,因此应用程序很可能无法正确处理它。会发生什么?
无法以编程方式预测稍后打开弹出窗口的确切结果,因此 IE 只是阻止您破坏某些内容 - 如果您重新加载网页,脚本将再次处理,但弹出窗口会在正确的时刻出现。
| 归档时间: |
|
| 查看次数: |
877 次 |
| 最近记录: |