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" 的文件。我禁用了这个文件,问题消失了!
当我点击产品页面然后点击产品时,我使用的是 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" 的文件。我禁用了这个文件,问题消失了!