使用jQuery检测首页加载?

我需要检测第一次在jQuery中加载页面,这样我才能在页面加载第一次用户导航到该页面时执行某些操作。 类似于服务器端代码页.ispostbasck。 我已经测试了$(document).ready并且每次页面加载时它都会触发,所以这不会提供我需要的东西。 我也尝试过jQuery Load函数 – 它还会触发每个页面加载。 所以通过页面加载一个例子是我在类型按钮的页面上有一个HTML输入标签,它不会触发回发(如asp.net按钮),但它会重新加载页面并触发$(文档).ready

谢谢

您必须使用cookie来存储第一个加载信息:

if (! $.cookie("cookieName")){ // do your stuff // set cookie now $.cookie("cookieName", "firstSet", {"expires" : 7}) } 

注意:上面的示例使用jQuery Cookie插件 。

不存在仅在第一次加载页面时触发的事件。

您应该使用jQuery的.ready()事件 ,然后坚持使用您选择的方法(即cookie,会话变量,本地存储等)处理第一次页面加载的事实。

注意:除非您可以在数据库中的用户级别存储此信息,否则此方法永远不会是万无一失的。 否则,只要用户清除其cookie或您选择的任何方法,“首次加载”代码将再次触发。

我刚遇到这个问题,这就是我处理它的方式。 使用变量initialLoad跟踪页面第一次加载:

 var initialLoad = true; $(document).ready(function() { ... ... ... initialLoad = false; }); 

然后在其他function中,您可以这样做:

 if (initialLoad) { //Do work that is done when the page was first refreshed/loaded. } else { //Do work when it's not the initial load. } 

这对我很有用。 如果用户已经在页面上并且运行了一些jQuery函数,我现在知道该用户是刚刚加载了页面还是已经在页面上。

简单的解决方案是使用jQuery’One’插件

 $(element).once('class-name', function() { // your javascript code });