ユーザーがブラウザの戻るボタンを押した場合に、別の関数への ajax 呼び出しを行うことなく、表示された Web サイトのコンテンツをキャッシュするにはどうすればよいですか?
私は私の質問にあまり意味がないと思うので、ここに詳細な情報があります: 私たちのウェブメールサーバーでは、ユーザーが受信トレイボタンをクリックするたびに、新しく受信したメールと以前に保存されたメールの件名を表示する別のページに移動します郵便物。(RetrieveNewMessages および ReadMailFolderContents)。ユーザーが大量のメールを受信または以前に保存している場合、これらの操作の処理に時間がかかる可能性があるため、ユーザーが初めて受信トレイ ページに入ったときにのみこれらの関数を実行したいと考えています。ユーザーが件名をクリックしてメールの内容を表示し、[戻る] を押して受信トレイ ページに戻ると、これらの機能が再度実行されるため、メールの表示に多くの遅延が発生します。
ページは最初に読み込み画面を読み込み、サーバーに ajax 呼び出しを行い、サーバーが 2 つの関数の処理を完了すると、文字列配列に格納されたコンテンツを表示します。
これは、現時点でどのように見えるかのスケルトンコードです。
メイン サブ
<%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>
サブ pagePart_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プラグインを使用しています。