如果我的页面导航到其他页面或关闭,我想删除所有cookie,否则我想让页面正常刷新。这样做的原因是Clearing cookie for tabs。
所以我的问题是:
我们怎样才能知道页面是刷新还是导航或关闭?
我尝试使用
window.onbeforeunload = function() {
var old_url= window.location.href;
var new_url= /* I dont know how to get new URL here */;
if(old_url == new_url){
return true;
}
else {
return false;
}
}
它不起作用:(
还有其他办法吗?
答案 0 :(得分:1)
我在javascript中声明了一个全局变量。
<script type="text/javascript">
var is_refresh_true = true;
</script>
每当我尝试使用javascript刷新页面时,我只是将变量值更改为false 例如:
<script type="text/javascript">
function Callme(){
is_refresh_true = false;
window.location.href = window.location.href;
}
</script>
还有body的onUnload事件:
function DeleteCokies() {
if (is_refresh_true) {
deleteAllCookies();
}
}
它不是一个完美的解决方案,但对我有用 我还在等待完美答案。如果有人发现,请回复。
答案 1 :(得分:0)
如果你没有为cookie设置任何Expiration,它将被会话清除(即,当你关闭浏览器时)..
如果您导航到其他页面,我在其他页面上看不到这些cookie的任何问题..并且假设您再次回到同一页面,它将显示相同的标签..
答案 2 :(得分:0)
var confirmOnPage = function () {
function del_cookie(name)
{
document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
};
window.onbeforeunload = confirmOnPage;