如何在javascript中使用hrad刷新来执行history.go(-2)?

问题描述 投票:0回答:1

当用户从登录页面登录到以前的 URL 时,我想重新加载我的 WordPress 页面,此代码似乎可以完成这项工作,但它会重新加载以前的数据状态(加载浏览器中存储的数据)。我想用history.go(-2)硬重新加载页面。

function login_register_redirect()
{
    echo "<script type='text/javascript'>
    history.go(-2);
    </script>";
}
add_filter('woocommerce_login_redirect', 'login_register_redirect', 99);
add_filter('woocommerce_registration_redirect', 'login_register_redirect', 99);
javascript wordpress
1个回答
0
投票

使用 PHP 获取引用 URL。 将此 URL 传递给 JavaScript 函数,该函数将通过硬重新加载将浏览器重定向到此 URL。

功能转到活动主题功能文件

function login_register_redirect() {
    // Check if HTTP_REFERER is set
    if (isset($_SERVER['HTTP_REFERER'])) {
        // Get the referring URL
        $referrer = $_SERVER['HTTP_REFERER'];

        // Use JavaScript to redirect and force a hard reload
        echo "<script type='text/javascript'>
                window.location.href = '" . esc_js($referrer) . "';
              </script>";
    } else {
        // Default redirect if HTTP_REFERER is not set
        echo "<script type='text/javascript'>
                window.location.href = '" . esc_js(get_home_url()) . "';
              </script>";
    }
}
add_filter('woocommerce_login_redirect', 'login_register_redirect', 99);
add_filter('woocommerce_registration_redirect', 'login_register_redirect', 99);
© www.soinside.com 2019 - 2024. All rights reserved.