Ⅰ 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刷新當前頁面的五種方法總結。注意在不同的場景下選擇合適的方法,以達到預期的效果。