我有一個window.onload
函數,它加載了一個AJAX內容。當訪問者正在查看另一個頁面並嘗試重新載入頁面時(也通過AJAX調用AJAX),它也會觸發。 window.onload
函數再次執行。有沒有辦法讓window.onload函數只執行一次?
是否有任何方法使window.onload
函數只執行一次(通過存儲在緩存或其他東西)?
我有一個window.onload
函數,它加載了一個AJAX內容。當訪問者正在查看另一個頁面並嘗試重新載入頁面時(也通過AJAX調用AJAX),它也會觸發。 window.onload
函數再次執行。有沒有辦法讓window.onload函數只執行一次?
是否有任何方法使window.onload
函數只執行一次(通過存儲在緩存或其他東西)?
您可以在AJAX完成後設置cookie,然後在加載頁面時檢查此cookie。一些僞代碼:
$(function() {
if (!$.cookie("page-viewed")) {
// call ajax & display
$.cookie("page-viewed", true);
}
});
更新
基於對您的評論的代碼的鏈接,你會使用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);
}
});
我從來沒有使用餅乾人。如果這是我的代碼,我需要做什麼: ' $(window).load(function(){ $('#pages_holder')。hide(0).delay(2500).fadeIn(1200, '擺動',{隊列:假}); \t $( '#ZA')rotate3Di( '+ = 360',1000,{隊列:假}, 'easeInOutCubic'); \t \t $(」。 za')。show()。switchClass(「za」,「nas」,500,'easeOutQuad')。switchClass(「nas」,「zavur6en」,1250,'easeInOutCubic')。delay(2000).hide(0 ) \t $阿賈克斯({ 網址: '頁/ zanas.php', 成功:函數(響應){ $( 「#頁」)HTML(響應);} 。}); \t }); ' –
我很抱歉這個爛攤子! –
我已經爲你更新了我的答案。 –
<script type="text/javascript">
$(function() {
// Have your onload ajax here
});
</script>
我從來沒有見過這種運行超過每頁加載一次。
但是這仍然會在每個頁面加載時執行? –
定義頁面加載? –
每次頁面加載....? –
使用cookie或會話? – j08691