我做了一個簡單的函數,它使所有容器的行爲都像鏈接(「a」元素)。後退按鈕在window.location.replace(href)後失敗;
function allHot(element){
$(element)
.click(
function(){
var href = $(this).find('a').attr('href');
window.location.replace(href);
})
.hover(
function(){
$(this).css({'text-shadow' : '0px 1px 0px #D6D6D6'});
},
function(){
$(this).css({'text-shadow' : 'none'});
}
);
}
功能很好。而不是點擊「更多」按鈕,用戶可以點擊容器上的任何地方並正確重定向。
但是,如果重定向後的用戶點擊後退按鈕,瀏覽器將返回兩個步驟而不是一個,因爲它應該。更奇怪的是,歷史看起來不錯。
簡單方案,以更好地描述:
第1頁 - >第2頁
第二頁[關於 「allHot」 用戶點擊容器] - > allHot重定向到第3頁
第3頁[關於瀏覽器用戶點擊後退按鈕] - > Page1
這是我正在處理的網站的主要錯誤。我真的沒有線索來阻止它。在Firefox,Chrome和Opera上測試錯誤。
還測試Opera「沒有JavaScript模式」。如果javascript被禁用,則不會發生問題。
預先感謝任何線索或解決方案。
這麼簡單,就像一個魅力。非常感謝。 – sznowicki 2012-08-07 11:01:39
注意:如果您像我一樣,發現上述重定向後的後退按鈕仍然無效,請確保您使用的是完整網址,例如通過'http:// www.example.com/endpoint'。僅使用'/ endpoint'仍然失敗。 – zafrani 2016-09-18 19:56:35