gpt4 book ai didi

internet-explorer - window.location.reload 不考虑 ie 中的哈希

转载 作者:行者123 更新时间:2023-12-01 08:01:23 26 4
gpt4 key购买 nike

我尝试使用 ajax 重新加载页面。 url 包含哈希 (ancor)

index.php?page=2&obj=3#lb

我尝试使用 location.reload() 或 windows.location.reload(true)

$(".reload").click(function(){

var userid = $(this).attr('userid');

$.post("testpost.php", {userid:userid}, function(data){

//window.location.reload(true);
location.reload();

});
});

使用 FF、Chrome 和 Opera 可以完美地工作,但是使用 IE,当页面重新加载时(即使浏览器的 url 中存在哈希值),不会考虑 anchor ,并且从上方查看页面。我该如何解决这个问题?谢谢

编辑

$(document).ready(function() {

$(".reload").click(function(){

var userid = $(this).attr('userid');

$.post("testpost.php", {userid:userid}, function(data){

location.reload();

});
});

var hash, el;
if(hash = location.hash.substring(1) && el = document.getElementById(hash)) {
el.scrollIntoView(true);
}

});

最佳答案

您可以尝试使用 location.hash.substring(1) 获取元素的 id,使用 document.getElementById 获取它,然后 scrollIntoView它:

document.getElementById(location.hash.substring(1)).scrollIntoView(true);

就您而言,您希望它在重新加载后发生,因此您可以使用

$(document).ready(function() {
var hash, el;
if((hash = location.hash.substring(1)) && (el = document.getElementById(hash))) {
el.scrollIntoView(true);
}
});

关于internet-explorer - window.location.reload 不考虑 ie 中的哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19609210/

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