Magento 在返回 safari 时保持滚动位置

Magento keep scroll position when returning on safari

当我点击产品页面然后点击产品时,我使用的是 Magento 1.9.4.0 和所有浏览器。再次返回产品时,滚动位置保持不变。除了 Safari,我不明白为什么它不适用于 Safari。

这是我尝试使用的一些代码,但 none 这些代码有效。我在 Scroll.js 文件中使用了这段代码。

var Scroll = {
    mainMenuHeight: 0,


    init : function() {
        jQuery('document').ready( function() {
            Scroll.scroll();
            Scroll.anchorClick();
            Scroll.hashOnLoad();
            Scroll.toTop();
        });

        jQuery(document).ready(function() {
            // If scroll location cookie is set, and the location is the same
            //scroll to the position saved in the scroll cookie.
            if ( jQuery.cookie("scroll") !== null && jQuery.cookie("location") !== null
                && jQuery.cookie("location") == jQuery(location).attr('href')) {
                jQuery(document).scrollTop( jQuery.cookie("scroll") );
            }

            jQuery("#grid").click(function () {
                // Set cookie with current location
                jQuery.cookie("location", jQuery(location).attr('href'));
                // Set cookie with current scrollposition from the top
                jQuery.cookie("scroll", jQuery(document).scrollTop() );
            });
        });

    },
}

还有这个:

var Scroll = {
    mainMenuHeight: 0,

    init: function() {
        jQuery('document').ready(function() {
            Scroll.scroll();
            Scroll.anchorClick();
            Scroll.hashOnLoad();
            Scroll.toTop();
        });
        jQuery(function() {
            var pathName = document.location.pathname;
            window.onbeforeunload = function() {
                var scrollPosition = jQuery(document).scrollTop();
                sessionStorage.setItem("scrollPosition_" + pathName,
                    scrollPosition.toString());
            }
            if (sessionStorage["scrollPosition_" + pathName]) {
                jQuery(document).
                    scrollTop(
                        sessionStorage.getItem("scrollPosition_" + pathName));
            }
        });
    },
}

我希望在 Safari 中返回时滚动位置也保持不变。它适用于某些产品,但不适用于所有产品...

所以我自己设法解决了这个问题。这是一个来自 scriptaculous 的名为 "slider.js" 的文件。我禁用了这个文件,问题消失了!