在 url 更改或加载时执行
Posted
技术标签:
【中文标题】在 url 更改或加载时执行【英文标题】:Execute on url change or on load 【发布时间】:2018-10-08 05:05:25 【问题描述】:我想在哈希值发生变化时执行一些 ajax 调用,同时也在初始页面加载时执行。
$(window).on('hashchange', function (e)
//execute this code
);
if (window.location.hash)
$(window).trigger('hashchange')
但这仅在 url domain.com#hash
中有哈希时才会执行。如果我加载纯 url domain.com
代码不会执行。
如何在有和没有哈希的两种可能性上执行此操作? (不带hash的url加载时,会显示一些数据。带ha会显示额外的数据)。
【问题讨论】:
【参考方案1】:如果您希望它在页面加载后发生:
$(window).on('load', function ()
$(window).trigger('hashchange');
);
或者如果您希望它立即发生(不是在加载后)
$(function()
$(window).trigger('hashchange');
);
那就没有必要了
if (window.location.hash)
$(window).trigger('hashchange')
您的代码仅在存在哈希 (window.location.hash
) 时触发 hashchange
,并且当存在哈希更改时您执行您的函数。
但是如果你想这样做,不管有没有哈希,都不需要检查它是否存在。
【讨论】:
非常感谢?以上是关于在 url 更改或加载时执行的主要内容,如果未能解决你的问题,请参考以下文章