<input type= "hidden " id= "hid1 " runat= "server " value= "0 " />
function test()
{
var hid1 = document.getElementById( "hid1 ")
if(hid1.value == "0 ")
{
//如果是第一次加载,则操作
window.onload=functionName
function window.onload(){
functionName()
}
window.onload=function(){
functionName()
}
}
else
{
//否则不操作
}
}
<body onload= "test()">
后台的Page_Load事件
if(Page.IsPostBack)
{
hid1.Value = "1 " //如果是重新加载则将hidden的值变成1
}
您所为的第一次加载界面的时候执行是指刷新页面不执行?还是以后访问都不执行了。
如果希望代码只执行一次,比如有一个弹层,用户第一次访问能看到,以后就不会再看到了。那最好是在服务器端保存状态。如果不方便在后端保存,可以考虑使用Cookie或者localStorage来保存状态,但是需要注意的是如果用户换了浏览器,或者用户删除了Cookie或localStorage的数据,就失效了。
如果是希望刷新不执行,没有什么完美的方法,但是我感觉sessionStorage可能能满足您的部分需求。sessionStorage仅在一个对话内有效,所以您可以尝试使用sessionStorage来存储数据标识是否是第一次访问。
具体的用法建议自行百度 sessionStorage, localStorage, Cookie。
第一次加载执行js刷新,实现是可以实现的,但是我不知道你要达到什么样的效果。如果说只写个普通的刷新页面的js话每次加载的时候都会触发这个刷新页面。就会死循环。我没碰到过这种情况,你可以将服务器短设置个变量放入session的作用域中判断如果这个变量为1就让js刷新,否则不刷新。不知道能不能提供一些帮助。。