如果用户按下浏览器上的后退按钮,我如何缓存显示的网站内容而无需对函数进行另一个 ajax 调用?
我认为我的问题没有多大意义,所以这里有更详细的信息:在我们的网络邮件服务器中,每当用户点击收件箱按钮时,它会将他们带到另一个页面,显示新收到的邮件的主题和以前存储的邮件。(RetrieveNewMessages 和 ReadMailFolderContents)。当用户收到大量邮件或以前存储的邮件时,这些操作可能需要很长时间才能处理,所以我希望这些功能仅在用户第一次进入收件箱页面时运行。当用户点击某个主题显示邮件内容并按返回返回收件箱页面时,这些函数又被运行,导致查看邮件有很大的延迟。
该页面最初加载一个加载屏幕,对服务器进行 ajax 调用,当服务器处理完这两个函数后,它会显示存储在字符串数组中的内容。
这里或多或少是它目前看起来的骨架代码:
主副
<%sub main()%>
<div id="loading" align="center">
<img src="mail_loading.gif" style="vertical-align:middle;"/>
Retrieving your mails...
</div>
<script language="javascript">
window.onload = function() {
ajaxed.callback('do', 'mail_listing', null,
function(t) {
$('loading').hide();
});
};
</script>
<div id="mail_listing"></div>
<%end sub>
子页面Part_do()(Ajax调用)
<%
Sub pagePart_do()
'Gets new mails from pop3 server
Call RetrieveNewMessages(mailbox,uniqueIDTxtFilePath)
retrievedMailContentArray = ReadMailFolderContents(mailDirName,uniqueIDTxtFilePath,flag)
...Run the for loop on retrievedMailContentArray and format it in HTML
%>
所以本质上,我希望在用户按下返回按钮返回收件箱页面时缓存 pagePart_do() 显示的 html 内容。
服务器在 ASP Classic 上运行并使用ajaxed插件。