jquery - 有什么方法可以让 window.onload 函数只执行一次吗?

标签 jquery return-value

我有一个 window.onload 函数,它加载 AJAX 内容。当访问者正在查看另一个页面并尝试重新加载它时(顺便说一下,这也是通过 AJAX 调用的),它也会触发。 window.onload 函数再次执行。

是否有任何方法可以使 window.onload 函数仅执行一次(通过存储在缓存或其他内容中)?

最佳答案

您可以在 AJAX 完成时设置一个 cookie,然后在加载页面时检查此 cookie。一些伪代码:

$(function() {
    if (!$.cookie("page-viewed")) {
        // call ajax & display

        $.cookie("page-viewed", true);
    }
});

这里是 jQuery cookie plugin 的链接

<小时/>

更新

根据您评论中的代码,您将使用如下所示的 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);
    }
});

关于jquery - 有什么方法可以让 window.onload 函数只执行一次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10400281/

相关文章:

JQuery Accordion 图像拉伸(stretch)

c# - 什么会导致 WCF 服务返回类型为 "object"的对象

javascript - 为我的 div 执行 Ajax 后无法调用鼠标相关事件

javascript - 在当前页面上动画并加载新页面

php - 将输入类型复选框与输入类型文本关联

javascript - jQuery:输入元素的类型不支持选择

java - 在不使用 if/else 语句的情况下将输出限制为某个整数的简单方法?

Powershell:多维数组作为函数的返回值

paypal - 自适应支付 Paypal : return url without data?

java - Intellij 警告 : Return value of the method is never used