gpt4 book ai didi

javascript - 在 Javascript 中,我想在刷新页面后保持滚动位置

转载 作者:行者123 更新时间:2023-12-01 15:10:06 31 4
gpt4 key购买 nike

在 Javascript 中,是否有任何方法可以在刷新页面后保持当前的滚动位置?
它通常在刷新后显示页面顶部..我不想要它..

最佳答案

Django/Javascript 解决方案是在 Jquery 的 beforeunload 上触发 ajax。 (页面刷新功能),将值存储为 session 变量,然后将其呈现到 GET 请求中的模板中。
模板

<script type="text/javascript">
$(window).on('beforeunload', function(){
var scroll_pos = $(document).scrollTop()
$.ajax({
url: window.location.href,
data: {
'scroll_position': scroll_pos
},
dataType: 'json',
});
});

$(window).on('load', function(){
$(document).scrollTop({{ request.session.scroll_position }});
});
</script>
View .py
class YourView(TemplateView)
template_name = "example.html"

def get(self, request, *args, **kwargs):
args = {}
scroll_position = request.session.pop('scroll_position',0)
args.update({'scroll_position':scroll_position})
return render(request, self.template_name, args)

def post(self, request, *args, **kwargs):
if request.is_ajax:
request.session['scroll_position'] = request.POST.get('scroll_position')
return JsonResponse({})

关于javascript - 在 Javascript 中,我想在刷新页面后保持滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63305835/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com