返回上一個(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)該怎樣寫(xiě)。
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)單的哦,不多說(shuō)你懂的。
下面是其他網(wǎng)友的補(bǔ)充
使用history.length判斷是否有上一頁(yè)面,如果沒(méi)有就返回到指定頁(yè)面
使用history.length判斷是否有上一頁(yè)面,如果沒(méi)有就返回到指定頁(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í)說(shuō)不可能,現(xiàn)在看來(lái)自己太年輕了。
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”,每訪問(wèn)一個(gè)頁(yè)面該值增加“1”。
因?yàn)閔istory.length 的數(shù)量只增不減,根本不能拿來(lái)做判斷。
場(chǎng)景
需要判斷用戶從微信瀏覽器通過(guò)瀏覽器打開(kāi)當(dāng)前網(wǎng)頁(yè),如果是則當(dāng)用戶點(diǎn)擊返回按鈕時(shí)返回到web應(yīng)用(站點(diǎn))首頁(yè)
- 或:是否有前一頁(yè)
- 通過(guò)history.length
- 不準(zhǔn)確,如果用戶曾經(jīng)打開(kāi)過(guò),則會(huì)存在更多的history.length
- 如果用戶不曾打開(kāi)過(guò),且直接從微信瀏覽器再使用系統(tǒng)瀏覽器打開(kāi),則history.length === 1(其中手機(jī)瀏覽器中為1,chrome控制臺(tái)為2)
- 或:判斷用戶是否訪問(wèn)過(guò)
- 通過(guò)cookie或是sessionStorage
- https://oldj.net/blog/2013/08/11/browser-history-sniffing
- 或:判斷 history 中是否存在指定url
- 沒(méi)有找到相關(guān)方法
- 或:是否是通過(guò)微信瀏覽器喚醒設(shè)備瀏覽器再打開(kāi)到當(dāng)前網(wǎng)頁(yè)的
- 沒(méi)有找到相關(guān)方法
肯定還有其他方法實(shí)現(xiàn) `當(dāng)用戶點(diǎn)擊返回按鈕時(shí)返回到web應(yīng)用(站點(diǎn))首頁(yè)` 這個(gè)功能的,現(xiàn)在腦袋有點(diǎn)暈,如果有的話,也希望能得到分享,非常感謝。
對(duì)了,Vuex能否判斷呢?實(shí)在是沒(méi)有找到相關(guān)方法,或許有。
最后
別忘記監(jiān)聽(tīng)瀏覽器的返回事件啦 :
window.addEventListener("popstate", function(e) { alert("我監(jiān)聽(tīng)到了瀏覽器的返回按鈕事件啦");//根據(jù)自己的需求實(shí)現(xiàn)自己的功能 }, false);
我是如何解決的
當(dāng)用戶在微信中打開(kāi)web應(yīng)用(站點(diǎn))時(shí),則提示用戶使用瀏覽器打開(kāi);
再配合Cookie和sessionStorage做緩存了router記錄來(lái)判斷用戶點(diǎn)擊返回按鈕時(shí)是否需要直接回到home頁(yè);
到此這篇關(guān)于返回上一個(gè)url并刷新界面的js代碼的文章就介紹到這了,更多相關(guān)js返回上一個(gè)url內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JS如何理解data URL
- node.js如何根據(jù)URL返回指定的圖片詳解
- node.js通過(guò)url讀取文件
- js獲取url頁(yè)面id,也就是最后的數(shù)字文件名
- 淺談JavaScript中你可能不知道URL構(gòu)造函數(shù)的屬性
- js實(shí)現(xiàn)無(wú)刷新監(jiān)聽(tīng)URL的變化示例代碼詳解
- 基于JavaScript獲取url參數(shù)2種方法
- js將URL網(wǎng)址轉(zhuǎn)為16進(jìn)制加密與解密函數(shù)
- 簡(jiǎn)單了解JS打開(kāi)url的方法
- 聊一聊JavaScript的URL對(duì)象是什么
相關(guān)文章
JS驗(yàn)證輸入的是否是數(shù)字及保留幾位小數(shù)問(wèn)題
這篇文章主要介紹了JS驗(yàn)證輸入的是否是數(shù)字及保留幾位小數(shù)問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05js replace替換字符串同時(shí)替換多個(gè)方法
這篇文章主要介紹了js replace替換字符串同時(shí)替換多個(gè)方法 的相關(guān)資料,需要的朋友可以參考下2018-11-11JavaScript圖像放大鏡效果實(shí)現(xiàn)方法詳解
這篇文章主要介紹了JavaScript圖像放大鏡效果實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06使用bootstrap實(shí)現(xiàn)多窗口和拖動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了使用bootstrap實(shí)現(xiàn)多窗口和拖動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09微信小程序?qū)崿F(xiàn)聊天對(duì)話(文本、圖片)功能
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)聊天對(duì)話功能,可以發(fā)送文本、圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07js使用Replace結(jié)合正則替換重復(fù)出現(xiàn)的字符串功能示例
這篇文章主要介紹了js使用Replace結(jié)合正則替換重復(fù)出現(xiàn)的字符串功能,可實(shí)現(xiàn)關(guān)鍵詞描紅的功能,涉及JS重復(fù)匹配的相關(guān)操作技巧,需要的朋友可以參考下2016-12-12IE8的JavaScript點(diǎn)擊事件(onclick)不兼容的解決方法
這篇文章主要介紹了IE8的JavaScript點(diǎn)擊事件(onclick)不兼容的解決方法,大家參考使用吧2013-11-11