返回上一個(gè)url并刷新界面的js代碼
JS 重載頁(yè)面,本地刷新,返回上一頁(yè)
<a href="javascript:history.go(-1)" rel="external nofollow" >返回上一頁(yè)</a> <a href="javascript:location.reload()" rel="external nofollow" >重載頁(yè)面,本地刷新</a> <a href="javascript:history.go(-1);location.reload()" rel="external nofollow" >返回上一頁(yè)重載頁(yè)面,本地刷新</a>
history.back();
back();
上面兩個(gè)方法不行,多次嘗試后,用下面的解決了
location.href=document.referrer;
返回前二頁(yè)并刷新的JS代碼應(yīng)該怎樣寫。
js 方法
<a href="#" rel="external nofollow" onclick="self.location=document.referrer;">返回</a>
asp自動(dòng)返回并刷新的方法:
response.Write("<script language=javascript>self.location=document.referrer;</script>")
一般用于向一個(gè)頁(yè)面提交action后返回前一頁(yè)并刷新!
php做法
echo "<script>alert('退出成功!');location.href='".$_SERVER["HTTP_REFERER"]."';</script>";
設(shè)置刪除成功后返回前一頁(yè),并刷新
if($query)
{
$page="listrenwu.php";
<!---這種方式不會(huì)刷新,只會(huì)原樣返回-->
echo "<script>alert('刪除成功');history.go(-1)</script>";
<!--//設(shè)置刪除成功后返回前一頁(yè),并刷新-->-->
echo "<script>alert('刪除成功');window.location = "".$page."";</script>";
}
這個(gè)算是php教程中最簡(jiǎn)單的哦,不多說你懂的。
下面是其他網(wǎng)友的補(bǔ)充
使用history.length判斷是否有上一頁(yè)面,如果沒有就返回到指定頁(yè)面
使用history.length判斷是否有上一頁(yè)面,如果沒有就返回到指定頁(yè)面,一般是返回到首頁(yè)
function goBack(){
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){ // IE
if(history.length > 0){
window.history.go( -1 );
}else{
window.location.href = "/";
}
}else{ //非IE瀏覽器
if (navigator.userAgent.indexOf('Firefox') >= 0 ||
navigator.userAgent.indexOf('Opera') >= 0 ||
navigator.userAgent.indexOf('Safari') >= 0 ||
navigator.userAgent.indexOf('Chrome') >= 0 ||
navigator.userAgent.indexOf('WebKit') >= 0){
if(window.history.length > 1){
window.history.go( -1 );
}else{
window.location.href = "/";
}
}else{ //未知的瀏覽器
window.history.go( -1 );
}
}
}
從這里想到一個(gè)用戶的特殊需求,那就是在公眾號(hào)中輸入生日后 ,關(guān)閉H5,讓公眾號(hào)彈出二維碼。當(dāng)時(shí)說不可能,現(xiàn)在看來自己太年輕了。
window.opener=null;
window.close();
接著補(bǔ)充
前言
使用單頁(yè)面的話 document.referrer 一直為空(.html或者ssr網(wǎng)頁(yè)則存在值)
History.length 表示用戶歷史會(huì)話頁(yè)面的數(shù)量。當(dāng)用戶從新的標(biāo)簽頁(yè)或框架載入頁(yè)面其值為“1”,每訪問一個(gè)頁(yè)面該值增加“1”。
因?yàn)閔istory.length 的數(shù)量只增不減,根本不能拿來做判斷。
場(chǎng)景
需要判斷用戶從微信瀏覽器通過瀏覽器打開當(dāng)前網(wǎng)頁(yè),如果是則當(dāng)用戶點(diǎn)擊返回按鈕時(shí)返回到web應(yīng)用(站點(diǎn))首頁(yè)
- 或:是否有前一頁(yè)
- 通過history.length
- 不準(zhǔn)確,如果用戶曾經(jīng)打開過,則會(huì)存在更多的history.length
- 如果用戶不曾打開過,且直接從微信瀏覽器再使用系統(tǒng)瀏覽器打開,則history.length === 1(其中手機(jī)瀏覽器中為1,chrome控制臺(tái)為2)
- 或:判斷用戶是否訪問過
- 通過cookie或是sessionStorage
- https://oldj.net/blog/2013/08/11/browser-history-sniffing
- 或:判斷 history 中是否存在指定url
- 沒有找到相關(guān)方法
- 或:是否是通過微信瀏覽器喚醒設(shè)備瀏覽器再打開到當(dāng)前網(wǎng)頁(yè)的
- 沒有找到相關(guān)方法
肯定還有其他方法實(shí)現(xiàn) `當(dāng)用戶點(diǎn)擊返回按鈕時(shí)返回到web應(yīng)用(站點(diǎn))首頁(yè)` 這個(gè)功能的,現(xiàn)在腦袋有點(diǎn)暈,如果有的話,也希望能得到分享,非常感謝。
對(duì)了,Vuex能否判斷呢?實(shí)在是沒有找到相關(guān)方法,或許有。
最后
別忘記監(jiān)聽瀏覽器的返回事件啦 :
window.addEventListener("popstate", function(e) {
alert("我監(jiān)聽到了瀏覽器的返回按鈕事件啦");//根據(jù)自己的需求實(shí)現(xiàn)自己的功能
}, false);
我是如何解決的
當(dāng)用戶在微信中打開web應(yīng)用(站點(diǎn))時(shí),則提示用戶使用瀏覽器打開;
再配合Cookie和sessionStorage做緩存了router記錄來判斷用戶點(diǎn)擊返回按鈕時(shí)是否需要直接回到home頁(yè);
到此這篇關(guān)于返回上一個(gè)url并刷新界面的js代碼的文章就介紹到這了,更多相關(guān)js返回上一個(gè)url內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js設(shè)計(jì)模式之結(jié)構(gòu)型享元模式詳解
這篇文章主要為大家詳細(xì)介紹了js設(shè)計(jì)模式之結(jié)構(gòu)型享元模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
javascript省市級(jí)聯(lián)功能實(shí)現(xiàn)方法實(shí)例詳解
這篇文章主要介紹了javascript省市級(jí)聯(lián)功能實(shí)現(xiàn)方法,以不同實(shí)例形式分析了JavaScript實(shí)現(xiàn)省市級(jí)聯(lián)菜單的具體技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
JavaScript中find()和?filter()方法的區(qū)別小結(jié)
js中find和filter方法大家在工作中會(huì)經(jīng)常遇到,那么他們有什么區(qū)別呢?這篇文章主要給大家介紹了關(guān)于JavaScript中find()和?filter()方法區(qū)別的相關(guān)資料,需要的朋友可以參考下2021-12-12
Javascript讀取json文件方法實(shí)例總結(jié)
json文件是一種輕量級(jí)的數(shù)據(jù)交互格式,下面這篇文章主要給大家介紹了關(guān)于Javascript讀取json文件方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11
用JavaScript 處理 URL 的兩個(gè)函數(shù)代碼
用JavaScript 處理 URL 的兩個(gè)函數(shù)代碼...2007-08-08
@ResponseBody 和 @RequestBody 注解的區(qū)別
這篇文章主要介紹了@ResponseBody 和 @RequestBody 注解的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-03-03

