返回上一個url并刷新界面的js代碼
JS 重載頁面,本地刷新,返回上一頁
<a href="javascript:history.go(-1)" rel="external nofollow" >返回上一頁</a> <a href="javascript:location.reload()" rel="external nofollow" >重載頁面,本地刷新</a> <a href="javascript:history.go(-1);location.reload()" rel="external nofollow" >返回上一頁重載頁面,本地刷新</a>
history.back();
back();
上面兩個方法不行,多次嘗試后,用下面的解決了
location.href=document.referrer;
返回前二頁并刷新的JS代碼應該怎樣寫。
js 方法
<a href="#" rel="external nofollow" onclick="self.location=document.referrer;">返回</a>
asp自動返回并刷新的方法:
response.Write("<script language=javascript>self.location=document.referrer;</script>")
一般用于向一個頁面提交action后返回前一頁并刷新!
php做法
echo "<script>alert('退出成功!');location.href='".$_SERVER["HTTP_REFERER"]."';</script>";
設置刪除成功后返回前一頁,并刷新
if($query) { $page="listrenwu.php"; <!---這種方式不會刷新,只會原樣返回--> echo "<script>alert('刪除成功');history.go(-1)</script>"; <!--//設置刪除成功后返回前一頁,并刷新-->--> echo "<script>alert('刪除成功');window.location = "".$page."";</script>"; }
這個算是php教程中最簡單的哦,不多說你懂的。
下面是其他網(wǎng)友的補充
使用history.length判斷是否有上一頁面,如果沒有就返回到指定頁面
使用history.length判斷是否有上一頁面,如果沒有就返回到指定頁面,一般是返回到首頁
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 ); } } }
從這里想到一個用戶的特殊需求,那就是在公眾號中輸入生日后 ,關閉H5,讓公眾號彈出二維碼。當時說不可能,現(xiàn)在看來自己太年輕了。
window.opener=null;
window.close();
接著補充
前言
使用單頁面的話 document.referrer 一直為空(.html或者ssr網(wǎng)頁則存在值)
History.length 表示用戶歷史會話頁面的數(shù)量。當用戶從新的標簽頁或框架載入頁面其值為“1”,每訪問一個頁面該值增加“1”。
因為history.length 的數(shù)量只增不減,根本不能拿來做判斷。
場景
需要判斷用戶從微信瀏覽器通過瀏覽器打開當前網(wǎng)頁,如果是則當用戶點擊返回按鈕時返回到web應用(站點)首頁
- 或:是否有前一頁
- 通過history.length
- 不準確,如果用戶曾經(jīng)打開過,則會存在更多的history.length
- 如果用戶不曾打開過,且直接從微信瀏覽器再使用系統(tǒng)瀏覽器打開,則history.length === 1(其中手機瀏覽器中為1,chrome控制臺為2)
- 或:判斷用戶是否訪問過
- 通過cookie或是sessionStorage
- https://oldj.net/blog/2013/08/11/browser-history-sniffing
- 或:判斷 history 中是否存在指定url
- 沒有找到相關方法
- 或:是否是通過微信瀏覽器喚醒設備瀏覽器再打開到當前網(wǎng)頁的
- 沒有找到相關方法
肯定還有其他方法實現(xiàn) `當用戶點擊返回按鈕時返回到web應用(站點)首頁` 這個功能的,現(xiàn)在腦袋有點暈,如果有的話,也希望能得到分享,非常感謝。
對了,Vuex能否判斷呢?實在是沒有找到相關方法,或許有。
最后
別忘記監(jiān)聽瀏覽器的返回事件啦 :
window.addEventListener("popstate", function(e) { alert("我監(jiān)聽到了瀏覽器的返回按鈕事件啦");//根據(jù)自己的需求實現(xiàn)自己的功能 }, false);
我是如何解決的
當用戶在微信中打開web應用(站點)時,則提示用戶使用瀏覽器打開;
再配合Cookie和sessionStorage做緩存了router記錄來判斷用戶點擊返回按鈕時是否需要直接回到home頁;
到此這篇關于返回上一個url并刷新界面的js代碼的文章就介紹到這了,更多相關js返回上一個url內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JS驗證輸入的是否是數(shù)字及保留幾位小數(shù)問題
這篇文章主要介紹了JS驗證輸入的是否是數(shù)字及保留幾位小數(shù)問題,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2018-05-05微信小程序?qū)崿F(xiàn)聊天對話(文本、圖片)功能
這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)聊天對話功能,可以發(fā)送文本、圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07js使用Replace結(jié)合正則替換重復出現(xiàn)的字符串功能示例
這篇文章主要介紹了js使用Replace結(jié)合正則替換重復出現(xiàn)的字符串功能,可實現(xiàn)關鍵詞描紅的功能,涉及JS重復匹配的相關操作技巧,需要的朋友可以參考下2016-12-12IE8的JavaScript點擊事件(onclick)不兼容的解決方法
這篇文章主要介紹了IE8的JavaScript點擊事件(onclick)不兼容的解決方法,大家參考使用吧2013-11-11