当URL中存在#时如何调用javascript函数



我试图调用JavaScript函数时,#是存在于URL。我知道正常的行为是导航/滚动到特定的标签。但是找不到如何调用JavaScript函数。

下面的例子很接近,但没有解决我的问题。

URL中#的含义是什么,我如何使用它?

您可能能够利用hashchange事件来触发该函数,假设您不只是想继续轮询位置以查看它是否更改。

文档:https://developer.mozilla.org/en-US/docs/Web/API/Window/hashchange_event

此代码片段将向当前页面添加侦听器,然后操作哈希并触发函数,显示新的哈希值。你可以在这里调用任何函数

window.addEventListener('hashchange', function() {
alert(location.hash);
});
window.location += "#test";

var hash = window.location.hash;
if(hash){
// do something
}
<script>
if (window.location.href.includes('#')) {
// run your code here
}
</script>

使用位置。哈希函数将解决你的问题

var hash = window.location.hash.replace(/#/g, '');
if(hash){
// found a hash
console.log("heyy I found a hash")'
}
else{
// did not find a hash
console.log("Uh oh")
/*
try using :
window.location = window.location + '#' + "some random variable"
to create a new URL and every time the page loads find the hash and 
display the wanted data.
*/
}

PS:这只适用于如果你的URL是example.com/#xyz然后它会给你一个xyz作为控制台输出。这听起来模糊,但如果你这样做,你可能会得到一个想法

相关内容

  • 没有找到相关文章

最新更新