Я использую 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. Он работает на некоторых продуктах, но не на всех продуктах ...