有什么方法可以检测窗口是否被用户刷新或者它是否是 window.location.reload(); 已执行并刷新页面的 js 命令?
因为如果用户刷新页面/导航,我想取消设置过滤器会话变量,并且如果我重新加载(javascript),我想保留这个过滤器会话变量。
我尝试与$_SERVER['HTTP_REFERER']
当我执行 window.location.reload() 时,$_SERVER['HTTP_REFERER'] 成为完整的当前路径链接,所以我尝试这样做:
if(!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] != url::base(true).Request::current()->uri())
{
$session = Session::instance();
$session->delete('deal_filter');
}
但这不是有效的,并且仅在某些时候有效。
如果我不能以这种方式检测到它,还有其他方法可以实现吗?