在这种情况下:
- 用户在文本框中输入一些信息
- 用户单击按钮
- 输入信息的服务器端处理发生
- 根据服务器端处理的结果,要么打开一个新窗口,要么在当前页面上显示一条消息(并且没有弹出窗口)
async: false
除了在 jQueryajax
调用中使用之外,我无法想出其他方法,强烈建议不要这样做:
强烈建议不要将此选项设置为 false(从而使调用不再是异步的),因为它可能导致浏览器无响应。
我试过了:
- 使调用异步并在回调处理程序中,具体取决于服务器所说的内容,有时会打开一个新窗口-这会被弹出窗口阻止程序阻止
- 另一个想法,由于它的不愉快,我什至没有打扰,是总是打开一个窗口,正是这个新窗口调用服务器,有时会自行关闭(以某种方式更新父级中的文本)
我已经确定的是我上面描述的内容:在点击处理程序中,执行同步服务器调用,如果服务器要求这样做,则打开一个新窗口。弹出窗口拦截器对此很满意,因为窗口打开是在点击处理程序中完成的。但...
类似(但不重复,因为我并不总是想打开一个新窗口)问题没有提供一个很好的解决方案: