返回 Javascript 第二阶段的浏览器 'back' 按钮?

Browser 'back' button that steps back to second stage of Javascript?

我遇到了 nopCommerce 中特定客户要求带来的问题。

我有一个页面 - 比如说第 1 页 - 它显示了一个块图像,然后你必须点击它才能到达页面的主要部分(无论我多么努力劝阻他们不要额外点击他们是坚定的 - 基本上是 'glamour shot' 在进入主要产品 grid/category 页面之前。

我有此 JavaScript 用于页面加载:

switch(window.location.pathname) {
    case "/store/page1":
        $(".category-page").hide();
        break;
etc. (there are other functions for other things)

其次是:

    $(".landing_click").click(function () {
        $(".landing_page").hide();
        $(".category-page").show();        
    });

这一切都很好,并在点击主图像后显示产品网格(类别页面)。 但是从网格中查看单个产品(进入产品详细信息)后,单击浏览器上的后退按钮会将您带回到页面的第一阶段1,因此您必须单击飞溅 image/glamour 再次射击以到达产品网格。

对我来说,这是合乎逻辑的,它正在按预期工作,但我需要找到一种方法,以便当用户单击产品的后退按钮时,它会返回到产品网格。像这样:

JavaScript 可以吗?它需要使用浏览器后退按钮而不是特定的其他按钮,尽管我也可以添加其中一个按钮。

如果它是一个简单的网站,那将相对容易,但我受限于 nopCommerce 的局限性和类别页面的功能方式,因此,如果可能的话,我为什么要寻找 JavaScript 答案我可以简单地调整我已有的。

谢谢

我会用 location.hash 这样做:

switch(window.location.pathname) {
    case "/store/page1":
        if(window.location.hash == "#landing") {
            $(".landing_page").show();
            $(".category-page").hide();
        }
        else {
            $(".landing_page").hide();
            $(".category-page").show();
        }
        break;
    //The rest here
}

其次是:

$(".landing_click").click(function () {
    window.location.hash = "#category";
    $(".landing_page").hide();
    $(".category-page").show();        
});

现在,当您在产品详细信息页面中时,单击后退按钮会将您转到 /store/page1#category 直接加载类别页面。