执行URL更改或负载



我想在更改哈希时执行一些Ajax调用。

$(window).on('hashchange', function (e) {
     //execute this code
});
if (window.location.hash) {
  $(window).trigger('hashchange')
}

但是,只有在URL domain.com#hash中存在哈希时才执行。如果我加载纯URL domain.com,则代码未执行。

在有和没有哈希的情况下,如何在两种可能性上执行此操作?(当URL加载而无需哈希时,将显示一些数据。有A有其他数据(。

如果您希望它在页面加载后发生:

$(window).on('load', function () {
  $(window).trigger('hashchange');
});

,或者如果您希望它立即发生(不加载后(

$(function() {
  $(window).trigger('hashchange');
});

这是不必要的

if (window.location.hash) {
  $(window).trigger('hashchange')
}

您的代码仅在有哈希(window.location.hash(时才触发hashchange,并且当有障碍时,您可以执行您的函数。

但是,如果您想做是否有哈希,则无需检查是否存在。

最新更新