怎样让js只在第一次加载界面的时候执行?

JavaScript014

怎样让js只在第一次加载界面的时候执行?,第1张

你可以用一个hidden来保存是否第一次加载的值

<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刷新,否则不刷新。不知道能不能提供一些帮助。。