我正在处理的网站有一个搜索工具,触发“现在搜索...”弹出窗口,一旦在第一页上提交表单就会显示,此弹出窗口仍保留在屏幕上,直到第二页已完成加载。这个弹出窗口不是JavaScript窗口,它只是一个设置了高z-index值的图层。
使用没有任何AJAX调用或iframe的基本表单提交来处理搜索请求,那么如何在页面加载之间显示和保持弹出窗口?预期的行为是浏览器从内存中卸载/删除第一页,只显示一个空白页,直到第二页的代码开始下载并准备好显示。此外,当网站显示在Edge中时,此行为不再有效,因此我需要了解弹出功能如何工作以解决该浏览器中的问题。
提前感谢您提供任何建议或帮助。不幸的是,我正在处理的网站正在更新,所以在这个阶段我无法链接到它。
答案 0 :(得分:1)
恕我直言,使用ajax回调
会很容易$.ajax({
//params like type, data, url etc..
//...
url: url,
type: "POST",
data: data,
dataType: 'html', //if you will receive HTML from server
beforeSend: function() {
//clear page and show popup
$("#main").html(""); //for example if your main block has id="main"
},
success: function(data) {
//draw new page
$("#main").html(data);
}
});
答案 1 :(得分:1)
互联网上的页面之间没有真正的持久性,例如,当您登录时,'对于一个网站,每次你访问一个页面,你还没有登录,你只需要由服务器重新登录,从页面到页面传递数据,识别用户会话。我们只能以这种方式给出持久性的幻觉(和实际利益)。
有很多方法可以创造出你所要求的错觉,但是AJAX是我建议的唯一解决方案。当用户提交表单时,触发加载,然后调用页面,并在收到成功响应后将结果显示给用户。
https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started