设置 - 通过html提交按钮将许多条件作为POST进行大型搜索,在服务器/结果页面开始加载发送第一个字节之前可能需要几秒钟。
http://api.jquery.com/unload/现已弃用(从1.8版开始),我正在寻找正确的方法来执行以下操作...
当有人点击搜索按钮时,我会通过将按钮文本设置为“正在搜索...”向用户提供一些反馈,然后允许提交继续(返回true):
$('#dosearch').click(function() {
$(this).html('<i class="icon-spinner icon-spin"></i> Searching...');
return true;
});
在卸载期间,我目前正在这样做:
$(window).unload(function() {
$('#dosearch').html('<i class="icon-search"></i> Search');
});
我尝试绑定到beforeunload,但是一旦提交发生(坏)就会触发,而不是在浏览器开始呈现新页面时(好)。
问题是,如果他们点击搜索,然后点击浏览器上的“返回”按钮。如果他们这样做,则仍会显示“搜索...”文字。
我正在尝试做什么的正确/正确方法是什么?
注意:( I标签的原因是我使用字体很棒)。
答案 0 :(得分:1)
将空事件处理程序绑定到卸载似乎可行,但这有点像黑客。
$('#dosearch').click(function() {
$(this).html('<i class="icon-spinner icon-spin"></i> Searching...');
return true;
});
$(window).on("load", function(){
$('#dosearch').html('<i class="icon-search"></i> Search');
});
$(window).on("unload", function(){
// Leave this blank handler here or onload won't fire on IE or FF when you click back button
});
请参阅this question了解相关信息。
答案 1 :(得分:0)
如果用户返回历史记录,则表示该网页是否为新网页?因此,无论何时加载页面,您都可以将值重置为您想要的值。
这可能是什么吗?