Magento сохраняет положение прокрутки при возвращении в сафари

Я использую Magento 1.9.4.0 и в каждом браузере, когда я нажимаю на страницу продукта, а затем на продукт. Положение прокрутки остается прежним при повторном возврате к продуктам. За исключением Safari, я не понимаю, почему это не работает для Safari.

Вот код, который я пытался использовать, но ни один из них не работает. Я использовал этот код в файле 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. Это работает на некоторых продуктах, но не на всех продуктах...

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
231
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Так что мне удалось исправить это самостоятельно. Это был файл с именем «slider.js» от scriptaculous. Я отключил этот файл, и проблема исчезла!

Другие вопросы по теме