繁体   English   中英

Chrome beforeunload事件和历史记录API

[英]Chrome beforeunload Event and history API

因此,我有代码来存储带有抽屉菜单的响应页面的滚动位置和高度。

$(window).on('beforeunload', function (e) {
                if (window.history && window.history.replaceState) {
                    var $formContainer = $('#Form1'),
                        $drawerContent = $('#drawer-content'),
                        pageState = {
                            page: window.location.href,
                            formContainerHeight: $formContainer.height(),
                            drawerContentScrollTop: $drawerContent.scrollTop()
                        };
                    console.log(pageState, e.type)
                    window.history.replaceState(pageState, window.document.title);
                }
            });

在页面加载时,我用console.log记录window.history.state以确保在历史记录中前进/后退时的页面大小。

我在IE10 +,FireFox和Opera中获得了预期的值,但是Chrome似乎在历史记录+1中记录了该页面的值。

您不应该这么刻苦,弄乱标题
Javascript提供了一组不错的方法来处理上一个/下一个,而实际上却停留在同一页面上:
即location.hash( 片段标识符 )。
改用它们:www.whatever / index#125,615其中x,y是您的值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM