Ⅰ js刷新当前页面的几种方法总结
JS刷新当前页面的几种方法总结:
使用location.reload方法:
使用location.href方式:
使用document.location方式:
注意事项: 在使用这些方法时,考虑到用户体验和性能因素是很重要的。在某些场景下,使用Ajax或其他技术来局部更新数据可能是更好的选择,而不是完全刷新页面。 频繁的页面刷新可能会影响用户体验,特别是在加载资源较多的页面上。因此,在设计页面交互时,应尽量避免不必要的页面刷新。
Ⅱ js如何区分页面是关闭还是刷新
简单版本(没办法判断多选项卡的浏览器):
<mce:scripttype="text/javascript"><!--
functionclose(evt)//author:sunlei
{
varisIE=document.all?true:false;
evt=evt?evt:(window.event?window.event:null);
if(isIE){//IE浏览器
varn=evt.screenX-window.screenLeft;
varb=n>document.documentElement.scrollWidth-20;
if(b&&evt.clientY<0||evt.altKey){
//alert("是关闭而非刷新");
window.location.href="../include/logout.php";
}
else{
//alert("是刷新而非关闭");
returnfalse;
}
}
else{//火狐浏览器
if(document.documentElement.scrollWidth!=0)
{
//alert("是刷新而非关闭");
//window.location.href="report_list.php?ss=1";
returnfalse;
}
else{
alert("是关闭而非刷新");
//window.location.href="repost_list.php?ss=0";
//alert("bbbbbbb");
}
}
}
//--></mce:script>
<BODYonunload="close(event);">
复杂版本(除非用任务栏关闭):
functionCloseOpen(event){
if(event.clientX<=0||event.clientY<0){
//获取当前时间
vardate=newDate();
//将date设置为过去的时间
alert("关闭网页");
date.setTime(date.getTime()-10000);
//将userId这个cookie删除
document.cookie="zhuangtao;expire="+date.toUTCString();
document.cookie="quanxianzifucuan;expire="+date.toUTCString();
document.cookie="quanxian;expire="+date.toUTCString();
s0+="关闭窗口!";sw=1;
onbeforeunload();
//window.event.returnValue='关闭浏览器将退出系统.';
}
else
{
alert("刷新或离开");
}
}
varcurrentKeyCode=-1;
functiondocument.onkeydown(){//本窗口的所有下属页面都必须含有本函数
top.currentKeyCode=event.keyCode;
}
functiononbeforeunload(){
varsw=0,s0="";
if(currentKeyCode==116)
{
s0+="刷新窗口!(F5)";
}
else
{
if((event.altKey)&&(currentKeyCode==115))
{
s0+="关闭窗口!(alt+F4)";sw=1;
//获取当前时间
vardate=newDate();
//将date设置为过去的时间
alert("关闭窗口");
date.setTime(date.getTime()-10000);
//将userId这个cookie删除
document.cookie="zhuangtao;expire="+date.toUTCString();
document.cookie="quanxianzifucuan;expire="+date.toUTCString();
document.cookie="quanxian;expire="+date.toUTCString();
}
else
{
if((event.clientX>0)&&(event.clientX<document.body.clientWidth))
{
s0+="刷新窗口!";
}
else
{
//获取当前时间
vardate=newDate();
//将date设置为过去的时间
alert("关闭网页");
date.setTime(date.getTime()-10000);
//将userId这个cookie删除
document.cookie="zhuangtao;expire="+date.toUTCString();
document.cookie="quanxianzifucuan;expire="+date.toUTCString();
document.cookie="quanxian;expire="+date.toUTCString();
s0+="关闭窗口!";sw=1;
}
}
}
if(sw==1)
{
event.returnValue="";
}
else
{
currentKeyCode=-1;
}
}
<bodyonunload="CloseOpen(event)"></body></html>
Ⅲ js刷新当前页面
js怎么刷新当前页面呢?不知道的小伙伴来看看小编今天的分享吧!
js刷新当前页面共有五种方法:
1、reload
reload 方法,该方法强迫浏览器刷新当前页面。
语法:location.reload([bForceGet])
参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5(刷新)
reload() 方法用于重新加载当前文档。
如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。
2、replace
replace方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。
语法: location.replace(URL)
通常使用: location.reload() 或者是 history.go(0) 来做。
此方法类似客户端点F5刷新页面,所以页面method=post时,会出现网页过期的提示。
因为Session的安全保护机制。
当调用 location.reload() 方法时, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback 的。
如果有这种应用: 需要重新加载该页面,也就是说期望页面能够在服务端重新被创建,期望是 Not IsPostback 的。
这里,location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。
代码: location.replace(location.href);
返回并刷新页面:
location.replace(document.referrer);
document.referrer //前一个页面的URL
不要用 history.go(-1),或 history.back();来返回并刷新页面,这两种方法不会刷新页面。
3、页面自动刷新:
把代码加入head区域中
代码如下:
meta http-equiv=refresh content=20
其中20指每隔20秒刷新一次页面.
4、页面自动跳转:
把代码加入head区域中
代码如下:
meta http-equiv=refresh content=20;url=http://.jb51.net
其中20指隔20秒后跳转到http://.jb51.net页面
5、页面自动刷新js版:
代码如下:
script language=JavaScript
function myrefresh()
{undefined
window.location.reload();
}
setTimeout(myrefresh(),1000); //指定1秒刷新一次
/script
Ⅳ js区分浏览器页面是刷新还是关闭
页面加载时只执行onload
页面关闭时只执行onunload
页面刷新时先执行onbeforeunload,然后onunload,最后onload。
经过验证我得出的结论是:
//对于ie,谷歌,360:
//页面加载时只执行onload
//页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
//页面关闭时,先onbeforeunload事件,再onunload事件。
//对于火狐:
//页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件
那么回归正题,到底怎样判断浏览器是关闭还是刷新?我按照网上的各种说法实验千百遍,都未成功,其中各种说法如下:
window.onbeforeunload=function()//author:meizz
{
varn=window.event.screenX-window.screenLeft;
varb=n>document.documentElement.scrollWidth-20;
if(b&&window.event.clientY<0||window.event.altKey)
{
alert("是关闭而非刷新");
window.event.returnValue="";//这里可以放置你想做的操作代码
}else
{
alert("是刷新而非关闭");
}
}
window.onbeforeunload=function()//author:meizz
{
varn=window.event.screenX-window.screenLeft;
varb=n>document.documentElement.scrollWidth-20;
if(b&&window.event.clientY<0||window.event.altKey)
{
alert("是关闭而非刷新");
window.event.returnValue="";//这里可以放置你想做的操作代码
}else
{
alert("是刷新而非关闭");
}
}
Ⅳ JS刷新当前页面的几种方法总结
JS刷新当前页面的方法主要有四种。
第一种是重装方法,通过调用 location.reload() 或者是 history.go(0) 来刷新页面。其中,location.reload() 方法会强迫浏览器刷新当前页面,参数可选参数 bForceGet,默认为false,决定是否从客户端缓存中获取页面。true 表示以GET方式从服务器获取最新页面,相当于用户手动点击刷新按钮。
第二种是替换方法,通过调用 location.replace() 方法替换当前页面。它会将页面替换为指定的URL,并且无法通过浏览器的前进或后退按钮访问被替换的页面。
第三种方法是在实际应用中,当需要刷新页面时,可以使用 location.reload() 或者 history.go(0)。这种方式类似于用户手动点击刷新按钮,但需要注意,当页面的method属性为"post"时,可能会出现"网页过期"提示。此时可以使用 location.replace() 方法来替代,被替换的页面会在服务器端重新生成。
第四种方法是返回并刷新页面,可以通过 location.replace(document.referrer) 来实现。这里的 document.referrer 为前一个页面的URL。需要注意的是,使用 history.go(-1) 或 history.back() 方法来返回并刷新页面,不会真正刷新页面。
以上就是JS刷新当前页面的五种方法总结。注意在不同的场景下选择合适的方法,以达到预期的效果。