客户端如何判断页面是否第一次加载!

时间:2022-04-21 08:37:26
ASP.NET 服务器端判断页面是否第一次加载用if(!isPostBack),客户端怎么判断呢?
我写了一个脚本function first()
{
if(!)
{
  var url="images/shouyeclick.gif";
  var img=document.getElementById("shouye");
  img.src=url;
}
}
然后再<body onload="first();">
但我只想在页面第一次加载时运行first();  那么if(!.....)怎么写? 或者有别的办法吗?

18 个解决方案

#1


后台判断,然后执行RegisterStartupScript来运行js脚本
if (!this.IsPostBack)
        {
            this.Page.ClientScript.RegisterStartupScript(...);
        }

#2


1楼的 这个没用过,说得具体点,ClientScript.RegisterStartupScript(...)里边有三个参数.怎么写啊,
function first() 

if(!) 

  var url="images/shouyeclick.gif"; 
  var img=document.getElementById("shouye"); 
  img.src=url; 



那这个脚本举例子就可以
要是成功分都给你了!

#3


 this.Page.ClientScript.RegisterStartupScript(this.GetType(),"aaaa","first()"); 

#4


3楼的哥们 不行啊 你那"aaaa",代表什么啊?

#5


关键字,
写什么都可以的

#6


关键字,
写什么都可以的

#7


可没有实现我要得结果啊~

#8


js里面最好把用户信息如IP记录到cookie
用cookie来判断是否第一次登录

#9


引用 8 楼 viaivi 的回复:
js里面最好把用户信息如IP记录到cookie 
用cookie来判断是否第一次登录

楼主最好用这种方法咯

#10


Ip不妥!

#11


protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack) 
        { 
            this.Page.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(),"first()",true); 
        }
    }



function first() 

 
  var url="images/shouyeclick.gif"; 
  var img=document.getElementById("shouye"); 
  img.src=url; 
 

#12


关注

#13


11楼的 还是不行,不过还是要谢谢你写的那么详细!

#14


在后台的
声明全局变量public string a="";  //注意a一定是要声明成全局的,是属于“类”的,而不是属于“方法”的
然后page_load里写:
if(!isPostBack) a="y";
else a="n";

然后在客户端将变量a读出,就可以判断了。
客户端aspx可以用类似代码读出a:<%=a%>

#15


是否是第一次加载, 只是ASP.NET制造的一个假象, HTTP协议是无状态的, 对于客户端来说,所有的页面只加载一次,没有回传

要实现楼主的需求,上面的几位已经给出了相似的例子, 楼子自己琢磨表述就可以了. 

#16


引用 14 楼 isline 的回复:
在后台的 
声明全局变量public string a="";  //注意a一定是要声明成全局的,是属于“类”的,而不是属于“方法”的 
然后page_load里写: 
if(!isPostBack) a="y"; 
else a="n"; 

然后在客户端将变量a读出,就可以判断了。 
客户端aspx可以用类似代码读出a: <%=a%>

#17


真不知道你这个first 有什么啊```

#18


好东西··关注一下下·

#1


后台判断,然后执行RegisterStartupScript来运行js脚本
if (!this.IsPostBack)
        {
            this.Page.ClientScript.RegisterStartupScript(...);
        }

#2


1楼的 这个没用过,说得具体点,ClientScript.RegisterStartupScript(...)里边有三个参数.怎么写啊,
function first() 

if(!) 

  var url="images/shouyeclick.gif"; 
  var img=document.getElementById("shouye"); 
  img.src=url; 



那这个脚本举例子就可以
要是成功分都给你了!

#3


 this.Page.ClientScript.RegisterStartupScript(this.GetType(),"aaaa","first()"); 

#4


3楼的哥们 不行啊 你那"aaaa",代表什么啊?

#5


关键字,
写什么都可以的

#6


关键字,
写什么都可以的

#7


可没有实现我要得结果啊~

#8


js里面最好把用户信息如IP记录到cookie
用cookie来判断是否第一次登录

#9


引用 8 楼 viaivi 的回复:
js里面最好把用户信息如IP记录到cookie 
用cookie来判断是否第一次登录

楼主最好用这种方法咯

#10


Ip不妥!

#11


protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack) 
        { 
            this.Page.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(),"first()",true); 
        }
    }



function first() 

 
  var url="images/shouyeclick.gif"; 
  var img=document.getElementById("shouye"); 
  img.src=url; 
 

#12


关注

#13


11楼的 还是不行,不过还是要谢谢你写的那么详细!

#14


在后台的
声明全局变量public string a="";  //注意a一定是要声明成全局的,是属于“类”的,而不是属于“方法”的
然后page_load里写:
if(!isPostBack) a="y";
else a="n";

然后在客户端将变量a读出,就可以判断了。
客户端aspx可以用类似代码读出a:<%=a%>

#15


是否是第一次加载, 只是ASP.NET制造的一个假象, HTTP协议是无状态的, 对于客户端来说,所有的页面只加载一次,没有回传

要实现楼主的需求,上面的几位已经给出了相似的例子, 楼子自己琢磨表述就可以了. 

#16


引用 14 楼 isline 的回复:
在后台的 
声明全局变量public string a="";  //注意a一定是要声明成全局的,是属于“类”的,而不是属于“方法”的 
然后page_load里写: 
if(!isPostBack) a="y"; 
else a="n"; 

然后在客户端将变量a读出,就可以判断了。 
客户端aspx可以用类似代码读出a: <%=a%>

#17


真不知道你这个first 有什么啊```

#18


好东西··关注一下下·