2016-11-11 609 views
5

有三個頁面,A,B和C. A有一個標籤,其href重定向到B. B有JavaScript代碼並重定向到C. 當C,我點擊瀏覽器後退按鈕,瀏覽器重定向到A.爲什麼不是B?先謝謝你。JavaScript location.href不會將記錄添加到瀏覽器歷史

測試環節 A頁:http://o17o2o.com:8000/article-href.html

頁A

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 
    <title>Test</title> 
</head> 
<body> 
    <a href="/href-redirect.html">click me</a> 
</body> 
</html> 

網頁B

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 
    <title>waiting</title> 
</head> 
<body> 
    Page B 
    <script type="text/javascript"> 
     window.location.href = '/original.html'; 
    </script> 
</body> 
</html> 
+0

分享您的代碼?重定向如何?他們使用'window.location.href'或'history.replaceState'嗎? – Dymos

+0

你能分享你的代碼嗎? –

+0

這會很煩人。如果你在C上按回來,那麼你會(在javascript重定向之後)再次登錄C. –

回答

1

location.href重定向只會添加到瀏覽器的歷史,如果它是由用戶啓動的操作。在這裏,你是在onload事件調用它,所以它不會被添加到歷史

用戶History.pushState在瀏覽器歷史記錄中插入

+1

您是否有指向支持您的論點的鏈接? – chelmertz

+0

謝謝。如果我在setTimeout中包裝我的代碼,location.href重定向也會添加到瀏覽器歷史記錄中。 –

+0

no setTImeout would not do it ...試試這個... $(document).ready( function() {('#redirectdiv')。click(function(){document.location.href ='b .com';}); } ); – Sameer

相關問題