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

如题所述

你可以用一个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
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-02
jquery中有个one,可以实现这个功能。只执行一次。追问

能具体一些吗?比如举一个例子?谢啦 呵呵

追答

对于只需要触发一次,随后就要立即解除绑定的情况,jquery提供了一种简写方法 One()方法。
One()方法的结构与bind()方法类似,使用方法也与bind()方法相同,其语法结构如下:
one(type,[data],fn);
type为事件类型(blur,focus,load,resize,unload,click,mousedown,change等等),[data]为传入的数据,可省略的参数。fn为执行函数。
资料来源:《锋利的jquery》 117页
例子如下:

$(function(){
$('#btn').one("load",function(){
//需要执行的操作
});
});

第2个回答  2012-02-02
普通的使用:
window.onload = function(){
// 在这里写你的代码...
}

Jquery使用:
$(document).ready(function(){
// 在这里写你的代码...
});
第3个回答  2012-02-05
只能用客户端的COOKIES来判断了,这样也有一个缺点,就是客户端删除COOKIES后就又视为第一次访问了.
第4个回答  推荐于2017-10-07
你这个第一次是怎么算的?所有人访问这个页 只是第一个人访问的的时候执行 那没办法 只能通过后台来判断

如果是每次执行这个页面在执行JS的话 那就把JS放到最下面 或者用JQUERY

$(document).ready(
function () {
***
}
);追问

是每一个人第一次访问的时候执行,以后就不在执行了

追答

那也没办法判断 因为你不并不知道这个用户是不是第2次来 除非让他登陆可以判断 或者你说的就是每次请求这个页只执行一次 那么就放到页面最后 他自然就只执行一次了。。。

本回答被提问者和网友采纳

怎样让js只在第一次加载界面的时候执行?
你可以用一个hidden来保存是否第一次加载的值\\x0d\\x0a\\x0d\\x0a\\x0d\\x0afunctiontest()\\x0d\\x0a{\\x0d\\x0avarhid1=document.getElementById("hid1");\\x0d\\x0aif(hid1.value=="0")\\x0d\\x0a{\\x0d\\x0a\/\/如果是第一次加载,则操作\\x0d\\x0awindow.onload=functionName;...

怎么样在第一次初始化页面的时候就触发JS中函数
页面的初始化是由上至下的顺序,所以只需要把JS的函数写成页面加载就执行的形式,例如:$(function(){里面写函数}),然后放在页面head标签第一个。就会在初始化的最开始就执行JS函数,可以根据自己的需求调整位置

js获取手机端cookie使loading页面只在第一次打开网页的时候出现 当有co...
另外,刷新不会在出现的原因,可能是因为在 localhost ,你要有网域或是 ip ,Cookie 才会记录的。不懂可以私信问我详细 function setCookie(cname,cvalue,exdays){ var d = new Date();d.setTime(d.getTime()+ (exdays*24*60*60*1000));var expires = "expires="+d.toUTCString();document...

jquery页面加载前事件?
js怎样页面加载之前执行在页面最上方加上就是最先执行的。不过你DOM节点没有加载完,别人也看不过,如果这代码执行时间过长,体验就不好了,用户一直看不到界面。所以一般推荐是DOM加载完后再执行脚本。html页面的执行顺序是从上到下,你把js写到哪里,就从那里执行。您所为的第一次加载界面的时候执行...

JS大虾请进 只在页面第一次打开的时候运行一次的js
你的代码没有什么大问题,是浏览器问题,webkit浏览器只有服务器的cookie才能写入!以下是根据你的代码优化过的,在firefox和IE下正常运行,在chrome和opera等浏览器就不可以,你可以在本地构建一个服务器,进行测试.打一下广告,我的博客时wwwyeebingcom,有问题可以留言找我 function openpopup(){ alert("...

如何让html页面实现每次刷新的时候重新执行js
1,reload 方法,该方法强迫浏览器刷新当前页面。语法:location.reload([bForceGet])参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新")2,replace 方法,该方法通过指定URL替换当前缓存在历史里(客户...

怎样用JS设置文本框的默认值,并且当网页第一次加载时就会触发。
用jquery (document).ready(function(){ ("#txt").attr('value','默认值');});

js页面中同时调用多个组件时怎么使得组建只加载一次
调用之前加一个判断:现在外面设置一个变量var aluck = ture;\/\/然后在调用加载组件的时候检查aluckif(aluck==ture){ aluck=false; \/\/这里加载你需要的组件,因为aluck之后就会变成false,所以再次运行这段代码的时候,这里的代码就不运行了。} ...

js怎么设置 只执行一次 其余执行另一个?分多
1、写cookie,用户第一次访问时弹出a.html(即没有cookie或过期),同时写入一个cookie,过期时间为1天,1天内判断有改cookie时弹出b.html;2、写localStroage,方式如上;3、针对ip或uid记录到后端数据库;1优点是方便,缺点是手动清空cookie或浏览器关闭后自动清空会导致失效;2优点是不易清除(至少...

js引入时第一次的为什么没加载,你刷新一下他就加载了?
这个你的根据你的代码实际情况检查,可能是js代码被延时加载了或者加载顺序问题。也跟你使用的浏览器有关系,如果是代码延时,那你可以吧你都要执行的javascript写在一个setTimeout("",0)就可以解决。具体的解决办法视你的代码情况定。

相似回答