我已经这样做了阿贾克斯jQuery的功能,节省了在localStorage的滚动位置和正常工作的Chrome,但它并没有在其他Web浏览器上工作,我能做些什么,使工作在所有平台上?使用Ajax的jQuery localStorage的跨浏览器
JS:
$.ajax({
type: "GET",
url: "AdminListUsers.aspx?column=Disabled&direc=False&a=chstat&z=+",
success: function loadDoc() {
$(window).unload(function() {
var scrollPosition = $("body").scrollTop();
localStorage.setItem("scrollPosition", scrollPosition);
});
if (localStorage.scrollPosition) {
$("body").scrollTop(localStorage.getItem("scrollPosition"));
}
}
});
C#:
var toggleUrl = "AdminListUsers.aspx?column=" + (IsClicked.FirstOrDefault().Key ?? "Name") + "&direc=" + (IsClicked.FirstOrDefault().Value) + "&a=chstat&q=" + id.ToString() + "&d=" + disabled + "&z=" + Server.UrlEncode(txtSearchFor.Text);
var hl = new HyperLink();
hl.Text = status;
hl.Style.Add(HtmlTextWriterStyle.Color, (disabled ? "red" : "green"));
hl.NavigateUrl = toggleUrl;
hl.Attributes.Add("onclick", "loadDoc();return true;");
cell.Controls.Add(hl);
tr.Cells.Add(cell);
+0
哪些浏览器是不是在工作吗?它看起来相当标准。我猜IE是问题 –
+0
@RoryMcCrossan不是真的,它只适用于Edge和Chrome。 Firefox,Safari和IE是个问题。 –
+0
['scrollTop的(N)'](https://api.jquery.com/scrollTop/#scrollTop2)应该采取'Number',但是当你从获取的价值'localStorage'它是一个字符串。我不确定这是问题所在,因为'$(body).scrollTop(42)'对我来说不适用于Firefox ...嗯奇怪 –