window.onload
AJAXコンテンツをロードする関数があります。また、訪問者が別のページを表示していて、それをリロードしようとしたときにも発生します (ちなみに、これは AJAX でも呼び出されます)。window.onload
関数が再度実行されます。
関数を1回だけ実行させる方法はありますかwindow.onload
(キャッシュなどに保存することにより)?
window.onload
AJAXコンテンツをロードする関数があります。また、訪問者が別のページを表示していて、それをリロードしようとしたときにも発生します (ちなみに、これは AJAX でも呼び出されます)。window.onload
関数が再度実行されます。
関数を1回だけ実行させる方法はありますかwindow.onload
(キャッシュなどに保存することにより)?
AJAX が完了したときに Cookie を設定し、ページをロードするときにこの Cookie を確認することができます。擬似コード:
$(function() {
if (!$.cookie("page-viewed")) {
// call ajax & display
$.cookie("page-viewed", true);
}
});
jQuery cookie プラグインへのリンクは次のとおりです。
アップデート
コメントのコードに基づいて、次のように Cookie プラグインを使用します。
$(window).load(function() {
if (!$.cookie("page-viewed")) {
$('#pages_holder').hide(0).delay(2500).fadeIn(1200, 'swing', {queue:false});
$('#za').rotate3Di('+=360', 1000, {queue:false}, 'easeInOutCubic');
$('.za').show().switchClass("za", "nas",500, 'easeOutQuad').switchClass("nas", "zavur6en", 1250, 'easeInOutCubic').delay(2000).hide(0)
$.ajax({
url : 'pages/zanas.php',
success : function(response) {
$("#pages").html(response);
}
});
$.cookie("page-viewed", true);
}
});
<script type="text/javascript">
$(function() {
// Have your onload ajax here
});
</script>
これがページの読み込みごとに複数回実行されるのを見たことはありません。