我使用过history.pushState(),现在如果用户刷新页面,那么它将刷新当前URL,而不是原始URL。
我尝试检测带有cookie的刷新页面,该页面已隐藏,但无法正常工作。
window.onload = function() {
document.cookie="PR=0";
var read_cookies = document.cookie;
var s = read_cookies;
s = s.substring(0, s.indexOf(';'));
if( s.includes("1"))
{
window.location.href = "https://www.google.com";
}
else{
document.cookie="PR=1";
}
loadURL();
};
function loadURL()
{
document.cookie="PR=1";
document.getElementById("visited").value="1";
var str="abc/b cd";
str=str.replace(/ /g, "-");
history.pushState({},"",str);
}
当用户刷新页面时,我需要原始URL。
答案 0 :(得分:0)
这可能会有所帮助。但是您需要控制推送的网址。
// this goes to your 'original' url
window.addEventListener('beforeunload', function (event) {
sessionStorage.setItem('lastPage', window.location.href)
}
// page with your pushed url
if (sessionStorage.getItem('lastPage') === 'PAGE_YOU_DONT_WANT_TO_BE_REACHABLE_DIRECTLY') {
window.location = 'PAGE_YOU_WANT'
}
我对这的用例感兴趣。据我所知,您无法完全抑制刷新事件。