gpt4 book ai didi

javascript - Location.Hash 不会在 Chrome 中更新

转载 作者:行者123 更新时间:2023-11-29 10:24:20 24 4
gpt4 key购买 nike

我试图将页面的状态存储在散列中。这在 IE 和 FF 中有效,但在 Chrome 中它似乎没有做任何事情

$(document).ready(function()
{
window.onbeforeunload = savePageState;
});

function savePageState()
{
var currentTab = _tabbing.getCurrentTab();

var mapState = _mapAdapter.getMapState();
window.location.hash =
'reload=' + currentTab +
'&mapType=' + mapState.MapType.getName() +
'&lat=' + mapState.Latitude +
'&long=' + mapState.Longitude +
'&zoom=' + mapState.ZoomLevel;

return;
}

Chrome 中是否存在阻止我更新哈希的怪癖?有没有更好的方法来保存页面状态?只有后退按钮需要保存。

最佳答案

我建议您使用 jQuery BBQ plugin ,它为您管理哈希。

$.bbq.pushState({
reload: currentTab,
mapType: mapState.MapType.getName(),
lat: mapState.Latitude,
long: mapState.Longitude,
zoom: mapState.ZoomLevel
});

BBQ 处理合并哈希,因此它不会覆盖其他参数。例如,#fun=yes 变为 #fun=yes&reload=tab&...

接下来,您可以监听散列的变化:

$(window).bind('hashchange', function(e) {
var params = e.getState();
doStuff(params.lat, params.long);
});

关于javascript - Location.Hash 不会在 Chrome 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794089/

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